/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}
ul,ol{padding-inline-start:0;margin-block-start:0;margin-block-end:0;}

/* 
css contents:
utility classes 
  skip link
  forces short pages to fill full browser height
color, font and size variables 
  fallbacks for browsers that don't support css variables
color sections
basic link styles
basic font and text spacing styles
general page layouts

social links
header
  nav
  secondary nav
  breadcrumbs
footer
agegate
responsive video wrapper
cta button styles
text cta

basic single width / tfelegal page
page section template
page section headers
page section large image
page section alt-image-text
page section carousel
page section blog picker

homepage
  homepage ticker
  homepage hero content
  homepage content
about page
  about faqs
all wines page
  wine carousel page section
single wines page
  single wines page - hero
  single wines page - description
  single wines page - wine faqs
all blogs page
single blog page

404 error page
contact page

*/

/* utility classes */
.nowrap{white-space:nowrap;}
.hidden{display:none;}
.screen-reader-only{clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute !important;}
.clearfix::after{content:'';display:table;clear:both;}
.stop-transitions header * {transition:none !important;}

/* skip link  */
.skip-to-main {
  text-align: center;
}
.skip-to-main a:focus {
  margin-top: 1em;
  -webkit-transition: margin .2s ease-in;
  transition: margin .2s ease-in;
}
.skip-to-main a {
  position: absolute;
  left: var(--single-space);
  z-index: 20;
  text-align: center;
  display: inline-block;
  padding: var(--single-space);;
  margin-top: -4em;
  cursor: pointer;
  background: #fff;
  -webkit-transition: margin .2s ease-in-out;
  transition: margin .2s ease-in-out;
}

/* forces short pages to fill full browser height */
@supports (top:0) { /* for non-ie browsers only */
  .page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    justify-content: space-between;
  }
  .main, .article, .content {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    flex: 1 1 100%;
  }
}

/* color, font and size variables */
:root {
  --white: #fff;
  --black: #000;

  --buttercup: #ffcc73; 
  --lilac: #e4c9f2; 
  --marine: #0088cc; 
  --mist: #b7dfe2; 
  --orange: #f26149; 
  --peach: #fad7c8; 
  --plum: #60004e; 
  --valley: #025e53; 

  --gradient-angle: 100deg;

  --body-font: 'avenir-lt-pro';
  --display-font: 'benton-modern-display-extra';
  --font-awesome: "Font Awesome 6 Free";
  --font-awesome-brands: "Font Awesome 6 Brands";

  --quarter-space: .25rem;       /*  4px */
  --half-space: .5rem;           /*  8px */
  --three-quarter-space: .75rem; /* 12px */
  --single-space: 1rem;          /* 16px */
  --mid-space: 1.5rem;           /* 24px */
  --double-space: 2rem;          /* 32px */
  --triple-space: 3rem;          /* 48px */
  --quad-space: 4rem;            /* 80px */

  --max-width: 80rem;
  --narrow-max-width: 60rem;
  --min-width: 31.125rem;

  --shadow-x: 0px;
  --shadow-y: .25em;
  --shadow-blur: 4px;
  --shadow-spread: 0px;
  --shadow-color: rgba(0, 0, 0, 0.25);

  --mobile-border-radius: .5rem;
  --desktop-border-radius: .75rem;
}

/* fallbacks for browsers that don't support css variables */
body {
  font-family: 'avenir-lt-pro', Arial, Helvetica, sans-serif;
  font-family: var(--body-font);
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .01em;
  background-color: var(--white);
  color: var(--plum);
}
body * {
  box-sizing: border-box;
}
h1, h2, h3, h4 {
  font-family: serif;
}

/* color sections */
/* change color class names to describe actual color choices */
/* then copy to themes settings color section */
.color-mist {
  background-color: var(--mist);
  color: var(--valley);
}

/* basic link styles */
a {
  color: var(--dark-gray);
  transition: color .3s ease-in-out;
}
a:active, a:focus, a:hover {
  color: var(--blue);
}
.dark a {
  color: var(--light-blue);
}
.dark a:active, .dark a:focus, .dark a:hover {
  color: var(--blue);
}
a.animate {
  color: var(--blue);
  text-decoration: none;
  position: relative;
}
a.animate::after {
  content: '';
  position: absolute;
  bottom: -.1em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--blue);
  opacity: 0;
  transform: scale(0);
  transform-origin: center;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
a.animate:active,
a.animate:focus,
a.animate:hover {
  color: var(--blue);
}
a.animate:active::after,
a.animate:focus::after,
a.animate:hover::after {
  opacity: 1;
  transform: scale(1);
}

/* basic font and text spacing styles */
h1, h2, h3, h4,
.head-one, .head-two, .head-three, .head-four {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--display-font), serif;
  font-weight: 600;
  text-align: center;
  margin-top: 1em;
  letter-spacing: .01em;
  text-wrap: balance;
}
div > h1, div > h2, div > h3, div > h4 {
  margin-top: 0;
}
h1, .head-one {
  font-size: 48px;
  font-size: 3rem;
}
h2, .head-two {
  font-size: 24px;
  font-size: 1.5rem;
}
.serif h2, h2.serif, .serif .head-two, .head-two.serif {
  font-family: var(--body-font), sans-serif;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.1;
}
h3, .head-three,
.tfelegal ol li::marker {
  font-family: var(--body-font), sans-serif;
  text-transform: uppercase;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.1;
}
h4, .head-four {
  font-size: 14px;
  font-size: .875rem;
}
.prehead, .small-subhead {
  display: block;
  font-size: .625rem;
  letter-spacing: .3em;
  font-weight: 200;
}
.prehead, .subhead {
  text-transform: uppercase;
}
p, ul, ol, dl {
  font-family: var(--body-font), sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.25;
  text-wrap: pretty;
}
.serif p, .serif ul, .serif ol, .serif dl {
  font-family: var(--display-font), serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.1;
}
.uppercase {
  text-transform: uppercase;
}
h1, h2, h3, h4, p, ul, ol, dl {
  margin-bottom: 16px;
  margin-bottom: var(--single-space);
}
div > p:last-child, div > ul:last-child, div > ol:last-child, div > dl:last-child {
  margin-bottom: 0;
}
li {
  margin-bottom: 8px;
  margin-bottom: var(--half-space);
}
li:last-of-type {
  margin-bottom: 0;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
ul.bullet li,
ol.number li,
ol.lowercase li,
ol.uppercase li {
  padding-left: 8px;
  padding-left: var(--half-space);
  margin-left: 16px;
  margin-left: var(--single-space);
}
ul.bullet li {
  list-style: disc;
}
ol.number {
  list-style: decimal;
}
ol.lowercase {
  list-style: lower-alpha;
}
ol.uppercase {
  list-style: upper-alpha;
}
@media only screen and (min-width: 37.5em){
  h1, .head-one {
    font-size: 52px;
    font-size: 3.25rem;
  }
  h2, .head-two {
    font-size: 32px;
    font-size: 2rem;
  }
  .serif h2, h2.serif, .serif .head-two, .head-two.serif {
    font-size: 22px;
    font-size: 1.375rem;
  }
  h3, .head-three,
  .tfelegal ol li::marker {
    font-size: 18px;
    font-size: 1.125rem;
  }
  h4, .head-four {
    font-size: 16px;
    font-size: 1rem;
  }
  .prehead, .small-subhead {
    font-size: .6875rem;
  }
  .serif p, .serif ul, .serif ol, .serif dl {
    size: 26px;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 56.25em){
  h1, .head-one {
    font-size: 56px;
    font-size: 3.5rem;
  }
  h2, .head-two {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .serif h2, h2.serif, .serif .head-two, .head-two.serif {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h3, .head-three,
  .tfelegal ol li::marker {
    font-size: 20px;
    font-size: 1.25rem;
  }
  h4, .head-four {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .prehead, .small-subhead {
    font-size: .75rem;
  }
  p, ul, ol, dl, h5, h6 {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .serif p, .serif ul, .serif ol, .serif dl {
    size: 28px;
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 75em){
  h1, .head-one {
    font-size: 60px;
    font-size: 3.75rem;
  }
  h2, .head-two {
    font-size: 44px;
    font-size: 2.75rem;
  }
  .serif h2, h2.serif, .serif .head-two, .head-two.serif {
    font-size: 26px;
    font-size: 1.625rem;
  }
  .serif p, .serif ul, .serif ol, .serif dl {
    size: 32px;
    font-size: 2rem;
  }
}
/* Set width-related headline sizes for narrowest browser widths */
@media only screen and (max-width:22em) {
  h1, .head-one { font-size: 13vw; }
  h2, .head-two { font-size: 10vw; }
  h3, .head-three, .tfelegal ol li::marker { font-size: 5vw; }
  p, ul, ol, dl, h5, h6 {
    font-size: 12px;
    font-size: .75rem;
  }
}

/* general page layouts */
.page-wrapper {
  overflow: hidden;
  background-color: var(--mist);
}
.page-wrapper.page-lilac,
.error404 .page-wrapper {
  background-color: var(--lilac);
}
.page-wrapper.page-peach {
  background-color: var(--peach);
}
.header-offset {
  width: 100%;
  height: 10.75em;
}
.admin-bar .header-offset {
  height: 8.75em;
}
@media screen and (max-width: 782px) {
  .admin-bar .header-offset {
    height: 7.875em;
  }
}
main {
  position: relative;
}
.article {
  background-color: var(--mist);
}
.page-lilac .article,
.error404 .article {
  background-color: var(--lilac);
}
.page-peach .article {
  background-color: var(--peach);
}
.content {
  margin: 0 auto;
  padding: var(--mid-space) var(--single-space);
  max-width: var(--max-width);
}
.full-width .content,
.wide .content {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.full-width .content {
  max-width: 100%;
}
.wide .content {
  max-width: var(--max-width);
}
.narrow-width .content {
  max-width: var(--narrow-max-width);
}
@media only screen and (min-width: 37.5em){
  .content {
    padding: var(--mid-space);
  }
}
@media only screen and (min-width: 56.25em){
  .header-offset {
    height: 14em;
  }
  .admin-bar .header-offset {
    height: 12em;
  }
  .content {
    padding: var(--double-space);
  }
}
.content img {
  border-radius: var(--mobile-border-radius);
  box-shadow: var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-spread) var(--shadow-color);
}
@media only screen and (min-width: 56.25em){
  .content img {
    border-radius: var(--desktop-border-radius);
  }
}
.buttercup, 
.buttercup .content {
  background-color: var(--buttercup);
  color: var(--plum);
}
.lilac,
.lilac .content {
  background-color: var(--lilac);
  color: var(--plum);
}
.marine,
.marine .content {
  background-color: var(--marine);
  color: var(--white);
}
.mist,
.mist .content {
  background-color: var(--mist);
  color: var(--plum);
}
.orange, 
.orange .content {
  background-color: var(--orange);
  color: var(--white);
}
.peach,
.peach .content {
  background-color: var(--peach);
  color: var(--orange);
}
.plum, 
.plum .content {
  background-color: var(--plum);
  color: var(--white);
}
.valley,
.valley .content {
  background-color: var(--valley);
  color: var(--white);
}

/* social links */
.social-links {
  display: flex;
  gap: var(--mid-space);
  align-items: center;
  margin-bottom: 0;
}
.social-links li {
  margin-bottom: 0;
}
a.social-icon {
  text-decoration: none;
  transition: all .4s ease-in-out;
  font-size: 2.5rem;
}
.social-icon::before {
  display: inline-block;
  position: relative;
  font-family: var(--font-awesome-brands);
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 400;
  line-height: 1;
  padding-top: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.social-contact::before {
  font-family: var(--font-awesome);
  content: "\f0e0";
}
.social-facebook::before {
  content: "\f09a";
  font-size: .9em;
  bottom: .05em;
}
.social-instagram::before {
  content: "\f16d";
}
.social-spotify::before {
  content: "\f1bc";
}
.social-twitter::before {
  content: "\f099";
}
.social-pinterest::before {
  content: "\f0d2";
}
.social-tiktok::before {
  content: "\e07b";
  font-size: .825em;
  bottom: .075em;
}
.social-youtube::before {
  content: "\f167";
}
.social-vimeo::before {
  content: "\f40a";
}

/* header */
.header {
  position: fixed;
  top: 0;
  z-index: 5;
  width: 100%;
  background: linear-gradient(var(--gradient-angle), var(--mist) 30%, var(--buttercup) 95%);
}
.page-lilac .header,
.error404 .header {
  background: linear-gradient(var(--gradient-angle), var(--lilac) 30%, var(--buttercup) 95%);
}
.page-peach .header {
  background: linear-gradient(var(--gradient-angle), var(--peach) 30%, var(--buttercup) 95%);
}
.header-content {
  position: relative;
  width: 100%;
  max-width: var(--max-width);
  height: 9em;
  margin: 0 auto;
  padding: var(--single-space);
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.header-logo-link {
  display: inline-block;
}
.logo-link { 
  width: 9.5em;
  height: auto;
}
.logo-link svg {
  fill: var(--plum);
  transition: all .4s ease-in-out;
}
.header a {
  text-decoration: none;
}
.header a:active, .header a:focus, .header a:hover {
  text-decoration: underline;
}
@media (prefers-reduced-motion:no-preference) {
  .header a:active, .header a:focus, .header a:hover {
    text-decoration: none;
  }
  .header #menu-main-menu .menu-item a:active,
  .header #menu-main-menu .menu-item a:focus,
  .header #menu-main-menu .menu-item a:hover {
    text-decoration: none;
    transform: scale(1.025, 1);
    opacity: .8;
  }
} 
@media only screen and (min-width: 56.25em) {
  .header-content {
    height: 12em;
    padding: 1.125em var(--double-space) var(--single-space);
  }
  .header-nav .logo-link {
    height: 6.375em;
  }
}

/* general nav link styles */
.header-nav .menu {
  margin-bottom: 0;
  row-gap: var(--three-quarter-space);
  line-height: 1.5;
}
.header-nav .menu a {
  position: relative;
  color: var(--lilac);
  font-weight: 200;
  height: auto;
  letter-spacing: .01em;
  font-size: 1.25rem;
  font-weight: 200;
  text-transform: uppercase;
}
.header-nav .menu a::after,
.crumbs li a::after,
.footer-nav .sub-menu a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  opacity: 1;
  transform: scale(0);
  transform-origin: left;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}
.footer-nav .sub-menu a::after {
  bottom: .1875em;
}
.header-nav .menu a:active::after, .header-nav .menu a:focus::after, .header-nav .menu a:hover::after, 
.crumbs li a:active::after, .crumbs li a:focus::after, .crumbs li a:hover::after,
.footer-nav .sub-menu a:active::after, .footer-nav .sub-menu a:focus::after, .footer-nav .sub-menu a:hover::after {
  transform: scale(1);
}
#nav-chk,
.nav-chk-label {
  display: none;
}
/* nav mobile / hamburger */
.nav-toggle,
.no-js .nav-chk-label {
  position: absolute;
  top: var(--single-space);
  right: var(--single-space);
  padding: .5em .875em;
  z-index: 5;
  cursor: pointer;
  font-size: 1rem;
  background: 0 0;
  background-color: var(--plum);
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .4375em;
  align-items: start;
  height: 3.25em;
  width: 3.25em;
  border-radius: var(--mobile-border-radius);
}
.nav-toggle .bar,
.no-js .nav-chk-label .bar {
  height: 2px;
  width: 1.5em;
  background-color: var(--lilac);
  border-radius: 1px;
}
.nav-toggle .bar:nth-of-type(2),
.no-js .nav-chk-label .bar:nth-of-type(2) {
  width: 1.125em;
}
.nav-toggle .bar:nth-of-type(3),
.no-js .nav-chk-label .bar:nth-of-type(3) {
  width: .75em;
}
.nav-toggle:active .bar:active, .nav-toggle:focus .bar, .nav-toggle:hover .bar,
.no-js .nav-chk-label .bar:active, .no-js .nav-chk-label .bar:focus, .no-js .nav-chk-label .bar:hover {
  background-color: var(--white);
}
@media (prefers-reduced-motion: no-preference) {
  .nav-toggle,
  .no-js .nav-chk-label {
    transition: all 500ms ease;
  }
  .nav-toggle .bar,
  .no-js .nav-chk-label .bar {
    transition: all 750ms ease-out;
  }
}
.dark .nav-toggle .bar,
.no-js .dark .nav-chk-label .bar {
  background-color: var(--white);
}
.nav-toggle:hover {
  cursor: pointer;
}
#body.nav-open {
  overflow: hidden;
}
.menu-open .nav-toggle,
.no-js .nav-chk:checked ~ .nav-chk-label {
  padding-left: 1em;
  background-color: transparent;
  transition: all 750ms ease-in;
}
.menu-open .nav-toggle .bar:nth-of-type(1),
.no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(1) {
  transform: rotate(45deg);
  transform-origin: top left;
  width: 1.675em;
}
.menu-open .nav-toggle .bar:nth-of-type(2),
.no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(2) {
  transform-origin: center;
  width: 0;
}
.menu-open .nav-toggle .bar:nth-of-type(3),
.no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(3) {
  transform: rotate(-45deg);
  transform-origin: bottom left;
  width: 1.675em;
}
@media (prefers-reduced-motion: no-preference) {
  .menu-open .nav-toggle .bar:nth-of-type(1),
  .no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(1) {
    transition: all 500ms ease;
  }
  .menu-open .nav-toggle .bar:nth-of-type(2),
  .no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(2) {
    transition: all 100ms ease;
  }
  .menu-open .nav-toggle .bar:nth-of-type(3),
  .no-js .nav-chk:checked ~ .nav-chk-label .bar:nth-of-type(3) {
    transition: all 500ms ease;
  }
}
.header-nav {
  padding: 0 .5em .5em;
  z-index: 8;
}
.header-nav .menu-main-menu,
.header-nav .menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.header-nav .menu-main-menu {
  flex-wrap: wrap;
  gap: var(--quad-space);
  position: absolute;
  overflow: scroll;
  opacity: 0;
  z-index: 4;
  top: 0;
  right: -38em;
  max-width: 37.25em;
  padding: var(--single-space);
  scrollbar-width: none;
}
.header-nav .menu-main-menu-wrapper { 
  background-color: var(--plum);
  padding: var(--single-space);
  border-radius: var(--mobile-border-radius);
}
.header-nav .menu {
  width: 100%;
  max-width: 37.25em;
  margin-bottom: var(--single-space);
}
.header-nav .menu li {
  margin-bottom: 0;
  flex-basis: 100%;
}
.header-nav .social-links a {
  color: var(--lilac);
}
.header-nav .social-links a:active, .header-nav .social-links a:focus, .header-nav .social-links a:hover {
  color: var(--plum);
  text-shadow:
    -1px -1px 0 var(--lilac), 
    1px -1px 0 var(--lilac), 
    -1px 1px 0 var(--lilac), 
    1px 1px 0 var(--lilac);
}
.header-nav.menu-open .menu-main-menu,
.no-js #nav-chk:checked ~ .menu-main-menu {
  right: 0;
  opacity: 1;
}
.header-nav.menu-open .menu-main-menu .menu > li > a {
  height: auto;
  opacity: 1;
}
@media (prefers-reduced-motion) {
  .header-content {
    height: 5em !important;
  }
  .header .logo-link {
    width: 5.5em !important;
  }
  .crumbs {
    font-size: 0.75em !important;
    padding: 0.025em 0px !important;
  }
  @media only screen and (min-width: 56.25em) {
    .header-content {
      height: 8em !important;
    }
    .header-nav .menu-main-menu-wrapper {
      padding: var(--half-space) var(--double-space) !important;
    }
    .header-nav .menu {
      font-size: 1em !important;
    }
    .header-nav .social-icon-wrapper {
      top: var(--single-space) !important;
    }
    .crumbs {
      font-size: 0.75em !important;
      padding: 0.025em 0px !important;
    }
    .header-offset {
      height: 8em;
    }
  }
}
.no-js #nav-toggle {
  display: none;
}
.no-js .nav-chk-label {
  display: flex;
}
.no-js #nav-chk:checked ~ .menu-main-menu-wrapper .menu li {
  height: auto;
  opacity: 1;
}
@media only screen and (min-width: 56.25em) {
  .header-content {
    flex-wrap: wrap;
  }
  .header-nav {
    flex-basis: 100%;
    padding: 0;
  }
  .header-nav .menu-main-menu {
    opacity: 1;
    position: static;
    padding: 0;
    max-width: 100%;
    font-size: .875em;;
  }
  .header-nav .menu-main-menu-wrapper {
    width: 100%;
    padding: var(--single-space) var(--double-space);
  }
  .header-nav .menu {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: var(--double-space);
    margin-bottom: 0;
    max-width: 100%;
    font-size: 1.25em;;
  }
  .header-nav .menu li {
    flex-basis: auto;
  }
  .header-nav .menu a {
    font-size: unset;
  } 
  #nav-toggle,
  .no-js .nav-chk-label {
    display: none;
  }
  .header-nav .social-icon-wrapper {
    position: absolute;
    top: var(--double-space);
    right: var(--double-space);
  }
  .header-nav .social-links a {
    color: var(--plum);
  }
  .header-nav .social-links a:active, .header-nav .social-links a:focus, .header-nav .social-links a:hover {
    color: var(--buttercup);
    text-shadow:
      -1px -1px 0 var(--plum), 
      1px -1px 0 var(--plum), 
      -1px 1px 0 var(--plum), 
      1px 1px 0 var(--plum);
  }

}
@media only screen and (min-width: 75em) {
  .header-nav .menu-main-menu {
    font-size: 1em;;
  }
  .header-nav .menu-main-menu-wrapper {
    padding: var(--single-space) var(--quad-space);
  }
}

/* breadcrumbs */
.crumbs, 
.crumbs-list {
  display: flex;
  flex-wrap: wrap;
}
.crumbs {
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: .25em 0;
  margin-bottom: 0;
  font-size: .875em;
  color: var(--lilac);
  background-color: var(--plum);
  text-transform: uppercase;
}
.crumbs-list {
  justify-content: start;
  align-items: center;
  width: 100%;
  max-width: var(--max-width);
  padding: 0 var(--single-space);
}
.crumbs li {
  margin-bottom: 0;
}
.crumbs ol,
.crumbs li,
.crumbs li a {
  font-size: unset;
  white-space: nowrap;
}
.crumbs li a {
  position: relative;
}
.crumb-arrow {
  padding: 0 .375em;
}
@media only screen and (min-width: 56.25em) {
  .crumbs {
    font-size: 1em;
    padding: var(--half-space) 0;
  }
  .crumbs-list {
    padding: 0 var(--double-space);
  }
}

/* footer */
.footer {
  background-color: var(--lilac);
  border-top: 2.5em solid var(--plum);
}
.footer-content {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  padding-top: var(--single-space);
  padding-bottom: var(--single-space);
  gap: var(--double-space);
}
.footer-nav .footer-nav-wrapper,
.footer-nav ul,
.footer-nav li {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  line-height: 1.5;
  margin-bottom: 0;
  align-items: start;
}
.footer-nav li {
  justify-content: center;
}
.footer-nav a {
  text-transform: uppercase;
  font-size: 1.125rem;
  font-weight: 100;
  letter-spacing: .01em;;
}
.footer-head > a {
  font-size: 2.25rem;
  font-weight: 600;
  font-family: var(--display-font);
  cursor: pointer;
  pointer-events: none;
  text-transform: capitalize;
}
.footer-nav .menu {
  gap: var(--single-space);
}
.footer a {
  text-decoration: none;
  position: relative;
}
.footer .social-links {
  justify-content: center;
}
.footer .social-links a:hover {
  color: var(--lilac);
  text-shadow:
    -1px -1px 0 var(--plum), 
    1px -1px 0 var(--plum), 
    -1px 1px 0 var(--plum), 
    1px 1px 0 var(--plum);
}
.footer-logo-link .logo-link {
  margin: -1em 0;
}
.footer-copyright {
  text-align: center;
  font-size: .75rem;
}
@media only screen and (min-width: 37.5em) {
  .footer-nav .menu {
    display: grid;
    column-gap: var(--double-space);
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: minmax(min-content, 0);
    align-items: start;
  }
  .footer-nav .menu > li:nth-of-type(1) {
    grid-column: 1 / span 1;
    grid-row: 1 / span 1;
  }
  .footer-nav .menu > li:nth-of-type(2) {
    grid-column: 2 / span 1;
    grid-row: 1 / span 2;
  }
  .footer-nav .menu > li:nth-of-type(3) {
    grid-column: 1 / span 1;
    grid-row: 2 / span 1;
  }
  .footer-nav .menu > li:nth-of-type(1),
  .footer-nav .menu > li:nth-of-type(1) li,
  .footer-nav .menu > li:nth-of-type(3),
  .footer-nav .menu > li:nth-of-type(3) li {
    justify-content: end;
  }
  .footer-nav .menu > li:nth-of-type(2),
  .footer-nav .menu > li:nth-of-type(2) li {
    justify-content: start;
  }
  .footer .sub-menu .sub-menu a {
    position: relative;
    margin-left: .75em;
  }
  .footer .sub-menu .sub-menu a::before {
    content: '\2010';
    position: absolute;
    left: -.75em;
  }
  .footer-copyright {
    align-content: end;
    font-size: .875rem;
  }
}
@media only screen and (min-width: 56.25em) {
  .footer-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, auto);
  }
  .footer-nav-wrapper {
    grid-column: 1 / span 3;
    grid-row: 1 / span 2;
  }
  .footer-nav .menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: start;
  }
  .footer-nav .menu > li:nth-of-type(1),
  .footer-nav .menu > li:nth-of-type(1) li,
  .footer-nav .menu > li:nth-of-type(3),
  .footer-nav .menu > li:nth-of-type(3) li {
    justify-content: start;
  }
  .footer .social-icon-wrapper {
    grid-column: 4 / span 1;
    grid-row: 1 / span 1;
    align-self: start;
  }
  .footer .social-links {
    justify-content: end;
  }
  .footer-logo-link {
    grid-column: 4 / span 1;
    grid-row: 2 / span 1;
    align-self: end;
    display: flex;
    justify-content: end;
  }
  .footer-copyright {
    grid-column: 1 / span 4;
    grid-row: 3 / span 1;
    text-align: left;
  }
}

/* agegate */
.agegate-open {
  overflow-y: hidden;
}
body.agegate-open.tfe-agegate-blur > * {
  filter: blur(4px);
}
body.agegate-open.tfe-agegate-blur > .tfe-agegate,
body.agegate-open.tfe-agegate-blur > #wpadminbar {
  filter: blur(0);
}
.tfe-agegate.tfe-agegate-hidden {
  visibility: hidden;
  opacity: 0;
}
.tfe-agegate {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
  transition: all .5s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
  background: rgba(0,0,0,.65);
  font-size: 1.125rem;
}
.tfe-agegate-dialog {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  text-align: center;
  gap: var(--mid-space);
  background: linear-gradient(var(--gradient-angle), var(--mist) 30%, var(--buttercup) 95%);
  width: 80%;
  max-width: 40rem;
  padding: var(--triple-space) 0;
  border-radius: var(--mobile-border-radius);
}
.tfe-agegate-image {
  display: flex;
  justify-content: center;
  flex: 1 0 100%;
  max-width: 20rem;
  margin: 0;
}
p#tfe_agegate_description,
.tfe-enter.cta {
  width: 80%;
  max-width: 17em;
  font-size: 1em;
}
p#tfe_agegate_description {
  color: var(--black);
  margin-bottom: 0;
}
.tfe-enter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  cursor: pointer;
}
@media only screen and ( min-width: 37.5em ) {
  .tfe-agegate {
    font-size: 1.25rem
  }
  .tfe-agegate-dialog {
    padding: var(--quad-space) 0;
    border-radius: var(--single-space);
  }
}
@media only screen and ( min-width: 56.25em ) {
  .tfe-agegate {
    font-size: 1.375rem
  }
  .tfe-agegate-dialog {
    padding: 5rem 0;
    gap: var(--double-space);
    width: 75%;
    max-width: 40rem;
    border-radius: var(--desktop-border-radius);
  }
}
@media only screen and ( min-width: 75em ) {
  .tfe-agegate {
    font-size: 1.5rem
  }
}

/* responsive video wrapper */
.video-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.5%;
	/* padding-bottom: calc((100% + 26px)*.565); */
}
.video-wrapper > iframe,
.video-wrapper > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* cta button styles */
/* cta button-style link */
.cta,
.wpcf7-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--half-space);
  padding: var(--half-space) var(--triple-space);
  border-radius: var(--half-space);
  font-family: var(--body-font);
  font-size: 1.25em;
  font-weight: 100;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  text-wrap: balance;
  cursor: pointer;
  transition: all .4s ease-in-out;
  background-color: var(--plum);
  color: var(--lilac);
  fill: var(--lilac);
  border: 1px solid var(--lilac);
}
.cta-large {
  font-size: 1.75em;
}
.buttercup .cta,
.lilac .cta,
.cta.plum,
.wpcf7-submit {
  background-color: var(--plum);
  color: var(--lilac);
  fill: var(--lilac);
  border: 1px solid var(--lilac);
}
.buttercup .cta:active, .buttercup .cta:focus, .buttercup .cta:hover,
.lilac .cta:active, .lilac .cta:focus, .lilac .cta:hover,
.cta.plum:active, .cta.plum:focus, .cta.plum:hover,
.wpcf7-submit:active, .wpcf7-submit:focus, .wpcf7-submit:hover {
  background-color: var(--lilac);
  color: var(--plum);
  fill: var(--plum);
  border-color: var(--plum);
}
.mist .cta,
.cta.marine {
  background-color: var(--marine);
  color: var(--mist);
  fill: var(--mist);
  border: 1px solid var(--mist);
}
.mist .cta:active, .mist .cta:focus, .mist .cta:hover,
.cta.marine:active, .cta.marine:focus, .cta.marine:hover {
  background-color: var(--white);
  color: var(--marine);
  fill: var(--marine);
  border-color: var(--marine);
}
.peach .cta,
.cta.orange {
  background-color: var(--orange);
  color: var(--white);
  fill: var(--white);
  border: 1px solid var(--white);
}
.peach .cta:active, .peach .cta:focus, .peach .cta:hover,
.cta.orange:active, .cta.orange:focus, .cta.orange:hover {
  background-color: var(--white);
  color: var(--orange);
  fill: var(--orange);
  border-color: var(--orange);
}
.marine .cta {
  background-color: var(--white);
  color: var(--marine);
  fill: var(--marine);
  border: 1px solid var(--marine);
}
.marine .cta:active, .marine .cta:focus, .marine .cta:hover {
  background-color: var(--marine);
  color: var(--white);
  fill: var(--white);
  border-color: var(--white);
}
.orange .cta {
  background-color: var(--white);
  color: var(--orange);
  fill: var(--orange);
  border: 1px solid var(--orange);
}
.orange .cta:active, .orange .cta:focus, .orange .cta:hover {
  background-color: var(--orange);
  color: var(--white);
  fill: var(--white);
  border-color: var(--white);
}
.plum .cta {
  background-color: var(--lilac);
  color: var(--plum);
  fill: var(--plum);
  border: 1px solid var(--plum);
}
.plum .cta:active, .plum .cta:focus, .plum .cta:hover {
  background-color: var(--plum);
  color: var(--lilac);
  fill: var(--lilac);
  border-color: var(--lilac);
}
.valley .cta {
  background-color: var(--valley);
  color: var(--mist);
  fill: var(--mist);
  border: 1px solid var(--mist);
}
.valley .cta:active, .valley .cta:focus, .valley .cta:hover {
  background-color: var(--mist);
  color: var(--valley);
  fill: var(--valley);
  border-color: var(--valley);
}

.ctas-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--half-space);
  column-gap: var(--single-space);
  flex: 1 0 100%;
  margin-top: var(--single-space);
}
.cta.external .external-link,
.menu-item .external-link {
  width: .875em;
  height: .875em;
  position: relative;
  top: -.0375em;
  right: 0;
  fill: currentColor;
}
.menu-item .external-link {
  top: .07em;
  right: -.125em;
}
@media only screen and (max-width:22em) {
  .cta {
    font-size: 6vw;
    padding: var(--half-space) 12%;
  }
  .cta-large {
    font-size: 8vw;
  }
}
@media only screen and (min-width: 28.125em) {
  .cta {
    font-size: 1.5em;
  }
  .cta-large {
    font-size: 2em;
  }
}

/* text cta - NIU */
.text-cta {
  margin-left: var(--half-space);
  margin-right: var(--half-space);
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  border-color: transparent;
  position: relative;
}
.text-cta::after {
  content: '';
  position: absolute;
  bottom: -.0625em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--blue);
  opacity: 1;
  transform: scale(1);
  transform-origin: center;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.text-cta:active,
.text-cta:focus,
.text-cta:hover {
  color: var(--blue);
  background-color: transparent;
  border-color: transparent;
}
.text-cta:active::after,
.text-cta:focus::after,
.text-cta:hover::after {
  transform: scale(0);
  transform-origin: center;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

/* basic single width / tfelegal template */
.basic-content {
  width: 100%;
  max-width: var(--narrow-max-width);
  margin: 0 auto;
}
.narrow-width .basic-content {
  width: 100%;
  max-width: 48em;
}
.basic-content .tfelegal {
  width: 100%;
}
@media only screen and (min-width: 56.25em) {
  .narrow-width .basic-content {
    max-width: 52em;
  }
}
@media only screen and ( min-width: 75em ) {
  .basic-content .tfelegal {
    max-width: 100%;
  }
}

/* page section template */
.page-section-wrapper section {
  padding: var(--single-space);
  max-width: var(--max-width);
  margin: 0 auto;
}
.page-section-wrapper section.full-width {
  padding: 0;
}
@media only screen and (min-width: 56em) {
  .page-section-wrapper section {
    padding: var(--double-space);
  }
}

/* page section headers - NUI */
.page-section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  max-width: 56.25em;
  padding-bottom: var(--single-space);
}
.page-section-header h2:not(.prehead), 
.page-section-header h3:not(.prehead) {
  max-width: 16em;
}
.page-section-header *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 56em) {
  .page-section-header {
    padding-bottom: var(--double-space);
  }
}


/* page section large image - NUI */
.page-section-large-media {
  display: flex;
  justify-content: center;
  position: relative;
  min-height: 80vh;
  max-height: unset;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 5 / 3;
}
.page-section-large-media.reduce-height {
  min-height: 70vh;
}
.page-section-large-media .content {
  position: absolute;
  top: 0;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, .15);
}
.page-section-large-media h1,
.page-section-large-media h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--single-space);
}
.page-section-large-media h1,
.page-section-large-media h2,
.page-section-large-media .prehead {
  color: var(--white);
  margin: 0;
  max-width: 10em;
}
.page-section-large-media.headline-blue h1,
.page-section-large-media.headline-blue h2 {
  color: var(--blue);
}
.large-media {
  position: relative;
  width: 100%;;
  max-width: var(--max-width);
}
.large-media .large-image-wrapper, 
.large-media .large-image, 
.large-media .large-video-wrapper {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.large-media .large-image {
  min-height: 100%;
  display: flex;
  justify-content: center;
  object-fit: cover;
  object-position: center center;
  min-height: 100%;
  min-width: 100%;
  max-width: var(--max-width);
}
.large-media .large-video-wrapper {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .large-media .large-video-wrapper {
    display: block;
  }
} 
.large-media .large-video {
  position: relative;
  height: 100%;
  overflow: hidden;
  max-width: var(--max-width);
  display: flex;
  justify-content: center;
}
.large-media .large-video iframe {
  width: auto;
  height: 100%;
  aspect-ratio: 16 / 9;
}
.video-button {
  position: absolute;
  z-index: 4;
  bottom: var(--single-space);
  right: var(--single-space);
  display: flex;  
  align-items: center;
  justify-content: center;
  height: 2.125em;
  width: 3.5em;
  border: 1px solid var(--dark-gray);
  border-radius: 0;
  background-color: var(--white);
  cursor: pointer;
}
.video-button .video-button-control {
  display: block;
  width: .75em;
  height: .875em;
  border-color: transparent transparent transparent var(--dark-gray);
  border-style: double;
  border-width: 0 0 0 .75em;
  transition: all .2s ease-in-out;
}
.video-button.play .video-button-control {
  border-style: solid;
  border-width: .5em 0 .5em 1em;
}
.video-button:active,
.video-button:focus,
.video-button:hover {
  background-color: var(--light-blue);
  color: var(--blue);
}
@media only screen and (min-width: 37.5em) {
  .page-section-large-media {
    aspect-ratio: 14 / 6;
  }
  .page-section-large-media.reduce-height {
    min-height: 60vh;
  }
}
@media only screen and (min-width: 56.25em)  {
  .page-section-large-media {
    aspect-ratio: auto;
  }
  .video-button {
    bottom: var(--double-space);
    right: var(--double-space);
  }
}
@media only screen and (min-width: 75em)  {
  .page-section-large-media {
    min-height: unset;
  }
  .page-section-large-media .content,
  .large-media .large-image,
  .large-media .large-video iframe {
    width: 100%;
    min-height: auto;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .page-section-large-media.reduce-height .content,
  .reduce-height .large-media .large-image,
  .reduce-height .large-media .large-video iframe {
    aspect-ratio: 7 / 3;
  }
}

/* page section alt-image-text */
.page-section-alt-images-text .content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  max-width: var(--min-width);
  padding-top: var(--double-space);
}
.page-section-alt-images-text .mobile-image-text-img {
  margin-top: -3em;
}
.page-section-alt-images-text .mobile-image-text-img,
.page-section-alt-images-text .mobile-image-text-img picture {
  display: flex;
  width: 100%;
}
.page-section-alt-images-text .image-text-img {
  display: none;
}
.alt-images-text-row.buttercup.image-border .image-text-img img,
.alt-images-text-row.buttercup.image-border .mobile-image-text-img img {
  border: 1px solid var(--buttercup);
}
.alt-images-text-row.lilac.image-border .image-text-img img,
.alt-images-text-row.lilac.image-border .mobile-image-text-img img {
  border: 1px solid var(--lilac);
}
.alt-images-text-row.mist.image-border .image-text-img img,
.alt-images-text-row.mist.image-border .mobile-image-text-img img {
  border: 1px solid var(--mist);
}
.alt-images-text-row.marine.image-border .image-text-img img,
.alt-images-text-row.marine.image-border .mobile-image-text-img img {
  border: 1px solid var(--marine);
}
.alt-images-text-row.orange.image-border .image-text-img img,
.alt-images-text-row.orange.image-border .mobile-image-text-img img {
  border: 1px solid var(--orange);
}
.alt-images-text-row.peach.image-border .image-text-img img,
.alt-images-text-row.peach.image-border .mobile-image-text-img img {
  border: 1px solid var(--peach);
}
.alt-images-text-row.plum.image-border .image-text-img img,
.alt-images-text-row.plum.image-border .mobile-image-text-img img {
  border: 1px solid var(--plum);
}
.alt-images-text-row.valley.image-border .image-text-img img,
.alt-images-text-row.valley.image-border .mobile-image-text-img img {
  border: 1px solid var(--valley);
}
.page-section-alt-images-text .image-text-content {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.page-section-alt-images-text .ctas-block {
  margin-top: 0;
}
.page-section-alt-images-text .image-text-img + .image-text-content,
.page-section-alt-images-text .image-text-text + .ctas-block {
  margin-top: var(--half-space);
}
.image-text-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-basis: 100%;
}
.image-text-text h2 {
  margin-bottom: 0;
}
.image-text-text h2 + .image-text-body {
  margin-top: var(--half-space);
}
@media only screen and (min-width: 56.25em) {
  .page-section-alt-images-text .content {
    flex-wrap: nowrap;
    flex-direction: row;
    column-gap: var(--double-space);
    max-width: var(--max-width);
    padding: 0 var(--double-space) var(--single-space);
  }
  .alt-images-text-row:nth-child(odd) .content,
  .alt-images-text-row.image-right .content {
    flex-direction: row-reverse;
  }
  .alt-images-text-row.image-left:nth-child(odd) .content {
    flex-direction: row;
  }

  .page-section-alt-images-text .mobile-image-text-img {
    display: none;
  }
  .page-section-alt-images-text .image-text-img {
    display: flex;
    flex: 0 0 calc(40% - var(--single-space));
    max-width: unset;
    margin-top: -1em;
  }
  .page-section-alt-images-text .image-text-content {
    flex: 0 0 calc(60% - var(--single-space));
    justify-content: center;
  }
  .page-section-alt-images-text .image-text-img + .image-text-content {
    margin-top: 0;
  }
  
  .page-section-alt-images-text .image-text-text {
    max-width: 30em;

  }
  .page-section-alt-images-text .image-text-text + .ctas-block {
    margin-top: var(--double-space);
  }
  .image-text-text h2 + .image-text-body {
    margin-top: var(--single-space);
  }
}


/* page section template cards */
.page-section-cards {
  text-align: center;
}
.card {
  margin-bottom: var(--single-space)
}
.card:last-of-type {
  margin-bottom: 0;
}
.card img {
  margin: 0 auto var(--single-space);
  max-width: 90%;
  max-width: calc(100% - 2em);
}
.icon-left .card {
  display: flex;
  gap: var(--single-space);
  align-items: center;
}
.icon-left .card-img {
  flex: 0 0 8em;
}
.icon-left .card-img img {
  margin-bottom: 0;
}
.icon-left .card-text {
  text-align: left;
}
.card .cta {
  margin-top: var(--single-space);
}
/* card widths */
.page-section-cards.third-width .cards {
  display: flex;
  flex-wrap: wrap;
  gap: var(--single-space);
  justify-content: space-around;
}
.page-section-cards.third-width .cards .card {
  width: calc(50% - 1em);
  flex: 0 1 25em;
}


@media only screen and (min-width: 28em) {
 
}
@media only screen and (min-width: 56em) {

}
@media only screen and (min-width: 75em) {
  
}
@media only screen and (min-width: 94em) {
  

}

/* page section carousel */
.page-section-carousel .content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.carousel-wrapper {
  position: relative;
}
.carousel {
  display: flex;
  justify-content: center;
}
.carousel-slider {
  width: 100%; 
  display: flex;
  margin: 0 auto;
}
.carousel-slide {
  display: flex;
  align-items: stretch;
  flex: 0 1 33.3333%;
}
.carousel-slide-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 var(--quarter-space);
}
.carousel-slide .wine-card {
  flex: 1 0 100%;
  display: flex;
  position: relative;
}
.carousel-slide .wine-bottle-wrapper {
  height: 100%;
  width: 12em;
}
.carousel-slide img.wine-bottle {
  height: 16em;
}
.carousel-slide a {
  width: 100%;
  transition: transform .3s ease-in-out;
  text-decoration: none;
}
.carousel-slide a:active,
.carousel-slide a:focus,
.carousel-slide a:hover {
  transform: translateY(-.5em);
}
.carousel-navigation {
  z-index: 3;
}
.carousel-buttons .cta {
  position: absolute;
  z-index: 2;
  top: calc(50% - 1.5em);  
  padding: .125em;
  transform: scaleX(1.5);
  border-radius: 0;
}
.carousel-buttons .carousel-prev {
  left: 1em;
}
.carousel-buttons .carousel-next {
  right: 1em;
}
@media only screen and ( min-width: 56.25em ) {
  .carousel-slide .wine-bottle-wrapper {
    width: 14.75em;
  }
  .carousel-slide img.wine-bottle {
    height: 18.5em;
  }
  .homepage-hero .carousel-slide .wine-bottle-wrapper {
    width: 14.375em;
  }
  .homepage-hero .carousel-slide img.wine-bottle {
    height: 18em;
  }
  .carousel-buttons .cta-large {
    padding: .25em;
  }
  .carousel-slide a:active,
  .carousel-slide a:focus,
  .carousel-slide a:hover {
    transform: translateY(-.75em);
  }
}

/* carousel image gallery  */
.page-section-gallery .content {
  padding: var(--double-space) 0;
}
.carousel.image-gallery .carousel-slide {
  display: flex;
}
.carousel.image-gallery .carousel-slide.carousel-slide-double {
  flex-wrap: wrap;
  row-gap: var(--half-space);
}
.carousel.image-gallery .carousel-slide img {
  height: 100%;
}
.carousel.image-gallery .carousel-slide.carousel-slide-double img {
  height: calc(50% - var(--quarter-space));
}
@media only screen and ( min-width: 75em ) {
  .page-section-gallery .content {
    padding: var(--triple-space) var(--double-space);
  }
  .carousel.image-gallery {
    padding: 0;
  }
  .carousel.image-gallery .carousel-slider {
    flex: 0 0 100%;
    flex-wrap: wrap;
    gap: var(--single-space);
    overflow: hidden;
    padding: 0;
  }
  .carousel.image-gallery .carousel-slide {
    flex: 0 0 calc(33.333% - .8333em);
    padding: 0;
  }
  .carousel.image-gallery .carousel-slide.carousel-slide-double {
    row-gap: var(--single-space);
  }
  .carousel.image-gallery .carousel-slide.carousel-slide-double {
    row-gap: var(--single-space);
  }
  .carousel.image-gallery .carousel-slide.carousel-slide-double img {
    height: calc(50% - var(--half-space));
  }
}

/* page section blog picker */
.page-section-blog-picker {
  background: linear-gradient(var(--sand), var(--white));
}

/* homepage */
/* homepage ticker */
@media (prefers-reduced-motion: no-preference) {
  @keyframes ticker {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
}
.ticker-wrap { 
  overflow: hidden;
  text-wrap: initial;
  width: 100%;
  background-color: var(--plum);
  color: var(--lilac);
  height: 2.5em;
}
.ticker {
  display: flex;
  align-items: center; 
  justify-content: start;
  width: max-content;
  font-family: var(--display-font);
  white-space: nowrap;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  padding-top: 8px;
  animation: ticker 18s linear infinite;
}
.ticker-item {
  display: inline-block;
  padding: 0 var(--single-space);
  margin: 0;
}
.header-ticker {
  margin-top: -1.75em;
}
.hero-ticker {
  background-color: var(--valley);
  color: var(--mist);
  margin-top: -3.5em;
  margin-bottom: 1.5em;
}
.footer-ticker {
  margin-bottom: -2.5em;
}
@media only screen and ( min-width: 56.25em ) {
  .header-ticker {
    margin-top: -2em;
  }
}
/* homepage hero content */
.homepage-hero {
  padding-bottom: var(--triple-space);
}
.homepage-hero .content {
  row-gap: var(--half-space);
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}
.homepage-hero .content > *:not(.carousel-wrapper) {
  max-width: 38.25em;
  padding-left: var(--single-space);
  padding-right: var(--single-space);
}
.homepage-hero .intro {
  text-align: center;
  margin-bottom: var(--single-space);
}
.homepage-hero .ctas-block {
  margin-top: 0;
}
.homepage-hero .large-image,
.homepage-hero .small-image {
  width: 100%;
}
.homepage-hero .carousel-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  width: 100%;
  max-width: var(--max-width);
  padding: var(--single-space) 0 var(--half-space);
  overflow: hidden;
}
@media only screen and ( min-width: 56.25em ) {
  .homepage-hero .content {
    display: grid;
    grid-template-columns: calc(40% - var(--single-space)) calc(60% - var(--single-space));
    grid-template-rows: auto min-content auto auto auto;
    justify-items: center;
    column-gap: var(--double-space);
    max-width: var(--max-width);
    padding-left: var(--double-space);
    padding-right: var(--double-space);
  }
  .homepage-hero .large-image {
    grid-area: 1 / 1 / span 3 / span 1;
  }
  .homepage-hero .small-image {
    grid-area: 4 / 1 / span 2 / span 1;
    align-self: start;
  }
  .homepage-hero h1 {
    grid-area: 1 / 2 / span 1 / span 1;
    margin-bottom: 0;
    align-self: end;
  }
  .homepage-hero .intro  {
    grid-area: 2 / 2 / span 1 / span 1;
    margin-bottom: 0;
    max-width: 30em;
  }
  .homepage-hero .intro-ctas {
    grid-area: 3 / 2 / span 1 / span 1;
    align-self: start;
  }
  .homepage-hero .carousel-wrapper {
    grid-area: 4 / 2 / span 1 / span 1;
    align-self: start;
    overflow: hidden;
    width: 100%;
    margin-top: -.75em;
  }
  .homepage-hero .carousel-ctas {
    grid-area: 5 / 2 / span 1 / span 1;
    align-self: start;
  }
}
@media only screen and ( min-width: 75em ) {
  .homepage-hero .content {
    row-gap: var(--single-space);
    column-gap: var(--triple-space);
  }
  .homepage-hero .intro  {
    max-width: 34em;
  }
}
/* homepage content */
.lookbook .image-text-body {
  display: flex;
  flex-wrap: wrap;
  gap: var(--single-space);
  justify-content: center;
}
.lookbook-images {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--half-space);
  margin: var(--single-space) auto;
}
.lookbook-images img {
  flex: 0 1 calc(50% - var(--half-space));
  width: calc(50% - var(--half-space));
}
.lookbook .social-links a:active, .lookbook .social-links a:focus, .lookbook .social-links a:hover {
    color: var(--white);
    text-shadow: -1px -1px 0 var(--orange), 1px -1px 0 var(--orange), -1px 1px 0 var(--orange), 1px 1px 0 var(--orange);
}
@media only screen and ( min-width: 56.25em ) {
  .lookbook-images {
    margin-top: 0;
  }
}

/* about page */
.page-section-about .content {
  align-items: center;
}
.about-desktop-head {
  display: none;
}
.about-text {
  padding: var(--single-space);
  margin-top: var(--single-space);
  border-radius: var(--mobile-border-radius);
  text-align: center;
}
.page-section-about .about-image,
.about-text {
  max-width: 39.25em;
}
@media only screen and ( min-width: 56.25em ) {
  .page-section-about .content {
    position: relative;
    align-items: start;
  }
  .page-section-about .about-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    max-width: unset;
  }
  .page-section-about .about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
  }
  .about-mobile-head {
    display: none;
  }
  .about-desktop-head { 
    display: block;
  }
  .about-text {
    z-index: 2;
    border-radius: var(--desktop-border-radius);
    padding: var(--double-space);
    width: 50%;
  }
}
@media only screen and ( min-width: 62.5em ) {
  .about-text {
    width: 45%;
  }
}
@media only screen and ( min-width: 75em ) {
  .about-text {
    width: 40%;
  }
}
@media only screen and ( min-width: 80em ) {
  .page-section-about .about-image {
    padding: 0 var(--double-space);
  }
  .about-text {
    margin-left: var(--double-space);
  }
}
/* about faqs */
.wine-faqs .content {
  max-width: 50em;
}
.wine-faqs h1 {
  margin-bottom: var(--double-space);
}
.faq-item {
  position: relative;
  margin-bottom: var(--single-space);
}
.faq-chk {
  display: none;
}
.faq-checkbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  margin-bottom: var(--half-space);
}
.faq-icon {
  width: .75em;
  height: .75em;
  margin: -.15em 0 0 var(--half-space);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: rotate(0deg);
  transition: transform .5s ease-in-out;
}
.faq-icon .bar {
  width: .75em;
  height: 2px;
  background-color: var(--plum);
  position: relative;
}
.faq-icon .bar:nth-of-type(2) {
  position: absolute;
  left: 0;
  transform: rotate(90deg);
  transition: opacity .25s ease-in-out;
}
.faq-chk:checked ~ .faq-checkbox .faq-icon {
  transform: rotate(180deg);
  transition: transform .5s ease-in-out;
}
.faq-chk:checked ~ .faq-checkbox .bar:nth-of-type(2) {
  opacity: 0;
}
.faq-question {
  margin-top: 0;
  text-align: left;
}
.faq-answer {
  height: auto;
  max-height: 0;
  overflow: hidden;
  margin-bottom: var(--mid-space);
}
.faq-answer *:last-child{
  margin-bottom: 0;
}
.faq-chk:checked ~ .faq-answer {
  max-height: 20em;
}
@media (prefers-reduced-motion: no-preference) {
  .faq-chk .carat {
    transition: transform .5s ease-in-out;
  }
  .faq-answer {
    transition: max-height 1s ease-in-out;
  }
}
@media only screen and (min-width: 37.5em) {
  .faq-chk:checked ~ .faq-answer {
    max-height: 15em;
  }
}
@media only screen and (min-width: 56.25em) {
  .wine-faqs .content {
    text-align: left;
  }
  .wine-faqs h2 {
    margin-bottom: var(--triple-space);
  }
  .faq-checkbox {
    justify-content: space-between;
  }
  .faq-icon {
    width: 1em;
    height: 1em;
    margin-top: .1em;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transform: rotate(0deg);
    transition: transform .5s ease-in-out;
  }
  .faq-icon .bar {
    width: 1em;
  }
  .faq-chk:checked ~ .faq-answer {
    max-height: 13em;
  }
}

/* all wines page */
/* all wines page - intro */
.wines-intro .content {
  padding-left: 0;
  padding-right: 0;
}
.wines-intro-title {
  display: flex;
  justify-content: center;
  padding-left: var(--single-space);
  padding-right: var(--single-space);
}
.wines-intro .carousel-wrapper {
  padding: var(--single-space) 0;
  margin-bottom: var(--single-space);
}
.wines-intro-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wines-intro-wrapper > * {
  max-width: var(--min-width);
  padding-left: var(--single-space);
  padding-right: var(--single-space);
}
.wines-intro-text {
  text-align: center;
}
.wines-intro {
  border-bottom: 2.5em solid var(--marine);
}
.wines-shop .content {
  max-width: var(--min-width);
}
.wines-shop .shop-text-content {
  text-align: center;
}
.wines-shop .shop-text + .shop-image {
  margin-top: var(--mid-space);
}
.wines-shop .shop-image {
  margin-bottom: var(--half-space);
}
.wines-shop .shop-image img {
  aspect-ratio: 5 / 7;
  overflow: hidden;
  height: 100%;
  object-fit: cover;
}
.wines footer {
  border-color: var(--marine);
}
@media only screen and ( min-width: 37.5em ) {
  .wines-shop .shop-image img {
    aspect-ratio: auto;
  }
  }
@media only screen and ( min-width: 56.25em ) {
  .wines-intro-title,
  .wines-intro-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .wines-intro-title {
    order: 1;
  }
  .wines-intro-title h1 {
    max-width: var(--narrow-max-width);
  }
  .wines-intro-wrapper {
    order: 2; 
    padding-bottom: var(--double-space);
  }
  .wines-intro-wrapper > * {
    max-width: var(--narrow-max-width);
    padding: 0 var(--double-space);
  }
  .wines-intro .carousel-wrapper {
    order: 3;
    overflow: hidden;
  }
  .wines-intro-wrapper + .carousel-wrapper {
    margin-top: var(--single-space);
  }
}
@media only screen and ( min-width: 80em ) {
  .wines-intro .content {
    max-width: var(--max-width);
    padding-left: var(--double-space);
    padding-right: var(--double-space);
  }
}
/* wine carousel page section */
.page-section-wine-carousel {
  width: 100%;
  max-width: var(--max-width);
}
.page-section-wine-carousel .content {
  padding: var(--single-space) 0;
  overflow: hidden;
}
.wine-page .page-section-wine-carousel:last-child {
  padding-bottom: var(--double-space);
}
@media only screen and ( min-width: 56.25em ) {
  .page-section-wine-carousel .content {
    padding: var(--double-space) 0 var(--single-space);
  }
  .wine-page .page-section-wine-carousel:last-child {
    padding-bottom: var(--triple-space);
  }
}
@media only screen and ( min-width: 80em ) {
  .page-section-wine-carousel {
    padding: 0 var(--double-space) 0;
  }
}
/* all wines page - shop */
@media only screen and ( min-width: 56.25em ) {
  .wines-shop .content {
    max-width: var(--max-width);
  }
  .shop-section-wrapper {
    display: flex;
    align-items: center;
    gap: var(--double-space);
  }
  .shop-section-wrapper .shop-text {
    flex: 0 0 calc(40% - var(--single-space));
  }
  .shop-section-wrapper .shop-image {
    flex: 0 0 calc(60% - var(--single-space));
  }
  .wines-shop .shop-text + .shop-image {
    margin-top: 0;
  }
}

/* single wines page */
/* single wines page - hero */
.wine-page {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wine-hero .content,
.wine-details .content {
  align-items: center;
}
.wine-bottle-wrapper,
.wine-bottle-image figure,
.wine-bottle-image picture,
.wine-bottle-image figcaption {
  display: flex;
  justify-content: center;
}
.wine-bottle-wrapper {
  width: 19em;
  padding: var(--mid-space) var(--double-space);
  border-radius: var(--mobile-border-radius);
  box-shadow: var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-spread) var(--shadow-color);
  margin-bottom: var(--half-space);
}
.wine-bottle-image figure {
  flex-wrap: wrap;
  gap: var(--single-space);
}
.wine-bottle-image figcaption.head-two {
  flex: 1 0 100%;
  justify-content: center;
  text-align: center;
  margin-top: 0;
  padding: 0 var(--double-space);
  font-size: 1.5rem;
}
.wine-bottle-image picture {
  flex: 0 1 67%;
  border-radius: 75% / 80% 80% 80% 80%;
  overflow: hidden;
}
img.wine-bottle {
  box-shadow: none;
  width: auto;
  max-width: unset;
  height: 22.5em;
  object-fit: contain;
  padding: var(--half-space) var(--double-space) var(--mid-space);
}
.wine-hero-links {
  margin-top: var(--half-space);
}
@media only screen and (min-width: 56.25em) {
  .wine-hero .content {
    display: grid;
    grid-template-columns: 19em auto;
    grid-template-rows: auto auto auto;
    gap: var(--single-space) var(--double-space);
    max-width: var(--max-width);
    align-items: start;
  }
  .wine-hero-title {
    grid-column: 2 / span 1;
    grid-row: 1 / span 1;
    align-self: end;
    text-align: left;
  }
  .wine-hero-title h1 {
    align-items: start;
  }
  .wine-bottle-wrapper {
    margin-bottom: 0;
    grid-column: 1 / span 1;
    grid-row: 1 / span 3;
  }
  .wine-bottle-caption.head-two {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 75em) {
  .wine-hero .content {
    grid-template-columns: 23em auto;
  }
  .wine-hero .content {
    column-gap: var(--triple-space);
  }
  .wine-bottle-wrapper {
    width: 23em;
  }
  img.wine-bottle {
    height: 28em;
  }
}
/* single wines page - description */
.wine-description-text {
  margin-top: var(--double-space);
  text-align: center;
  max-width: 37.5em;
}
.wine-description-block + .wine-description-block {
  margin-top: var(--mid-space);
}
.wine-hero + .wine-details .content {
  padding-top: 0;
}
.wine-details-text {
  text-align: center;
}
.wine-details-text,
.wine-details-image-wrapper {
  max-width: 37.5em;
}
.wine-details-text > div:first-child h2 {
  margin-top: 0;
}
.wine-nutrition-list dt {
  font-style: italic;
}
.wine-nutrition-list > span {
  display: block;
  gap: var(--quarter-space);
  justify-content: center;
  margin-bottom: var(--half-space);
}
.wine-nutrition-list > span > * {
  display: inline;
}
.wine-details-text + .wine-details-image-wrapper {
  margin-top: var(--double-space);
}
@media only screen and (min-width: 56.25em) {
  .wine-description-text {
    grid-column: 2 / span 1;
    grid-row: 2 / span 1;
    align-self: center;
    text-align: left;
    max-width: 100%;
    margin-top: 0;
  }
  .wine-hero-links {
    grid-column: 2 / span 1;
    grid-row: 3 / span 1;
    align-self: start;
    justify-content: start;
    margin-top: var(--single-space);
  }
  .wine-details .content {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--double-space);
    align-items: start;
  }
  .wine-details .content > div {
    flex: 0 0 calc(50% - var(--single-space));
  }
  .wine-details-image-wrapper {
    max-width: unset;
  }
  .wine-details-text {
    text-align: left;
  }
  .wine-details-text + .wine-details-image-wrapper {
    margin-top: 0;
  }
  .wine-description-block h2,
  .wine-details-text h2 {
    align-items: start;
  }
}
@media only screen and (min-width: 75em) {
  .wine-details .content {
    column-gap: var(--triple-space);
  }
  .wine-details .content .wine-details-text {
    flex: 0 0 calc(40% - var(--mid-space));
  }
  .wine-details .content .wine-details-image-wrapper {
    flex: 0 0 calc(60% - var(--mid-space));
  }
}
/* single wines page - wine faqs */
.wine-faqs h2 {
  margin: var(--single-space) 0 var(--double-space);
}

/* all blogs page */
.coastal-living-intro .content {
  padding: var(--double-space) var(--double-space) 0; 
  margin-bottom: var(--single-space);
}
.coastal-living-intro h2 {
  margin-bottom: 0;
}
.blog-card-section .content {
  padding: var(--single-space) var(--double-space);
}
.blog-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--double-space);
  column-gap: var(--half-space);
}
.blog-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--single-space);
  max-width: 25em;
}
.blog-card-image,
.blog-card-image a {
  display: flex;
  width: 100%;
  aspect-ratio: 9 / 11;
  overflow: hidden;
}
.blog-card-image a {
  height: 100%;
}
.blog-card-image a img {
  width: 100%;
  object-fit: cover;
  transition: all .5s ease-in-out;
}
.blog-card-image a:active img,
.blog-card-image a:focus img,
.blog-card-image a:hover img {
  transform: scale(1.025);
  opacity: .9;
}
.blog-card-text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.blog-card-text .prehead {
  margin-bottom: var(--half-space);
}
.blog-card-text a {
  text-decoration: none;
}
.blog-card-text h3 {
  font-size: 18px;
  font-size: 1.125rem;
  text-align: left;
  align-items: start;
  margin: 0 0 var(--half-space);
}
.blog-card-description p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 37.5em) {
  .blog-card {
    flex: 0 1 calc(50% - 0.3125em);
  }
}
@media only screen and (min-width: 56.25em) {
  .blog-cards {
    column-gap: var(--single-space);
    row-gap: var(--triple-space);
  }
  .blog-card {
    flex: 0 1 calc(33.333% - 1.25em);
  }
}
@media only screen and (min-width: 75em) {
  .blog-cards {
    row-gap: var(--quad-space);
  }
  .blog-card {
    max-width: 36em;
  }
  .blog-card h3 {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 112.5em) {
  .blog-card {
    flex: 1 1 calc(25% - 1em);
    max-width: 25%;
  }
  .blog-card h3 {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

/* single blog page */
.page-section-large-media.blog-hero {
  min-height: unset;
}
.blog-content .content,
.blog-content .post-content {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}
.post-intro, 
.post-content {
  flex: 1 0 100%;
}
.post-intro, 
.post-text-block {
  width: 100%;
  max-width: var(--narrow-max-width);
  padding: 0 var(--single-space);
  margin-bottom: var(--single-space);
}
.post-intro {
  text-align: center;
}
.post-intro .subhead {
  letter-spacing: .1em;
  margin-bottom: var(--triple-space);
}
.post-intro a {
  color: var(--dark-gray);
  text-decoration: none;
  position: relative;
}
.post-intro a::after {
  content: '';
  position: absolute;
  bottom: -.1em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--blue);
  opacity: 0;
  transform: scale(0);
  transform-origin: center;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.post-intro a:active,
.post-intro a:focus,
.post-intro a:hover {
  color: var(--blue);
}
.post-intro a:active::after,
.post-intro a:focus::after,
.post-intro a:hover::after {
  opacity: 1;
  transform: scale(1);
}
.post-intro .head-one {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.2;
  padding: 0 var(--single-space);
}
.post-intro .prehead {
  margin-bottom: var(--mid-space);
}
.post-text-block .recipe-post-head,
.post-text-block .pairs-with {
  font-size: 13px;
  font-size: .8125rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
  color: var(--dark-gray);
    margin-bottom: var(--half-space);
}
.post-image-block {
  width: 100%;
  margin-bottom: var(--mid-space);
  padding: 0 var(--single-space);
}
.post-image-block.wide-width {
  max-width: 80em;
}
.post-image-block.regular-width {
  max-width: var(--narrow-max-width);
}
.post-image-block.narrow-width {
  padding: 0 var(--double-space);
  max-width: 28em;
}
.post-image-block img {
  width: 100%;
}
.post-content > div:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 37.5em) {
  .post-intro .head-one {
    font-size: 32px;
    font-size: 2rem;
    padding: 0 var(--double-space);
  }
  .post-image-block.narrow-width {
    padding: 0;
  }
  .post-text-block .recipe-post-head,
  .post-text-block .pairs-with {
    font-size: 14px;
    font-size: .875rem;
  }
}
@media only screen and (min-width: 56.25em) {
  .blog-content .content {
    padding-top: var(--mid-space);
  }
  .post-intro, 
  .post-text-block,
  .post-image-block {
    padding: 0 var(--double-space);
  }
  .post-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .post-image-block.narrow-width {
    padding: 0;
    max-width: 37.5em;
  }
  .post-intro .subhead {
    margin-bottom: var(--quad-space);
  }
  .post-intro .head-one {
    font-size: 40px;
    font-size: 2.5rem;
    padding: 0 var(--triple-space);
    margin-bottom: var(--half-space);
  }
  .post-intro .prehead {
    max-width: unset;
  }
  .post-text-block .recipe-post-head,
  .post-text-block .pairs-with {
    font-size: 15px;
    font-size: .9375rem;
  }
}
@media only screen and (min-width: 75em) {
  .page-section-large-media.blog-hero .large-image {
      aspect-ratio: auto;
  }
  .post-intro .head-one {
    font-size: 48px;
    font-size: 3rem;
    padding: 0 var(--quad-space);
  }
  .post-text-block .recipe-post-head,
  .post-text-block .pairs-with {
    font-size: 16px;
    font-size: 1rem;
  }
}


/* 404 error page */
.content-404 {
  text-align: center;
  gap: var(--single-space);
}
.content-404 h1,
.content-404 h2 {
  margin-bottom: 0;
}
.description-404 p {
  font-size: 1.5em;
}
.description-404 p:last-child {
  margin-bottom: 0;
}
.image-404 {
  margin-top: var(--double-space);
  width: 100%;
}
.image-404 img {
  border-radius: var(--mobile-border-radius);
}
@media only screen and (min-width: 75em) {
  .error404 .page-section-large-media .content,
  .error404 .page-section-large-media .large-image {
    width: 100%;
    min-height: auto;
    height: 100%;
    aspect-ratio: unset;
  }
}

/* contact page */
.contact .narrow-width .content {
  width: 100%;
}
.contact .main h1 {
  color: var(--plum);
}
.contact-form {
  margin-top: var(--double-space);
  padding: var(--single-space);
  background-color: var(--marine);
  border-radius: var(--mobile-border-radius);
}
.contact-form p {
  margin-bottom: 0;
}
.contact-form p + p {
  margin-top: var(--single-space)
}
.contact-form form p:last-of-type {
  margin-top: var(--half-space);
  position: relative;
}
.contact-form label {
  display: block;
  color: var(--mist);
  text-transform: uppercase;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
}
.contact-form input:not(.wpcf7-submit),
.contact-form textarea {
  padding: var(--half-space);
  margin-top: var(--quarter-space);
  font-family: var(--body-font);
  font-size: 1.125em;
  font-weight: 300;
  color: var(--black);
  background-color: var(--mist);
  border: 1px solid var(--mist);
  border-radius: var(--mobile-border-radius);
  box-shadow: none;
  outline: none;
}
.contact-form input:not(.wpcf7-submit):focus-visible,
.contact-form textarea:focus-visible {
  border: 2px solid var(--plum);
}
.contact-form .wpcf7-spinner {
  position: absolute;
  bottom: var(--half-space);
  right: 0;
}
.contact-form .wpcf7-not-valid-tip {
  color: var(--white);
  position: relative;
}
.contact-form .wpcf7-not-valid-tip::before,
.contact-form .wpcf7-response-output::before {
  content: "\f071";
  font-family: var(--font-awesome);
  font-style: normal;
  font-variant: normal;
  font-weight: 900;
  text-rendering: auto;
  display: inline-block;
  height: auto;
  width: .75em;
  margin-right: .5em;
  margin-bottom: .125em;
  vertical-align: middle;
}
.contact-form .wpcf7-response-output::before {
  font-size: .75em;
  margin-bottom: .25em;
}
.contact-form .wpcf7 form.invalid .wpcf7-response-output {
  color: var(--plum);
  background-color: var(--white);
  padding: var(--half-space) var(--single-space);
  border-color: var(--plum);
  border-width: 1px;
  border-radius: var(--mobile-border-radius);
  margin: var(--single-space) 0 0;
}
@media only screen and (min-width: 37.5em) {
  .contact-form {
    padding: var(--double-space);
    margin-bottom: var(--single-space);
  }
  .contact-form label {
    font-size: 1.25rem;
  }
  .contact-form p + p {
    margin-top: var(--mid-space)
  }
  .contact-form form p:last-of-type {
    margin-top: var(--single-space);
  }
}
@media only screen and (min-width: 56.25em) {
  .contact-form {
    padding: var(--quad-space);
    margin-bottom: var(--double-space);
    border-radius: var(--desktop-border-radius);
  }
  .contact-form p + p {
    margin-top: var(--double-space)
  }
  .contact-form form p:last-of-type {
    margin-top: var(--mid-space);
  }
}

/* find wine page */
.find-wine .buy-online .content {
  text-align: center;
  padding-bottom: 0;
  max-width: var(--narrow-max-width);
}
.mik-mak > p {
  margin-bottom: 0;
}