/*
Theme Name: Rooted North
Author: Bastiaan Ekeler
Author URI: https://ekeler.com/
Description: Rooted North Theme
Version: 1.0
*/

/*-------------------------------------------------------------------------------
  RN BRAND FOUNDATION
  Fonts and color tokens for the rebrand. Everything downstream refers to these,
  so this is the only block that needs to change to re-point the brand.

  FONTS:
  Termina and Univers Next are served from the Adobe Fonts web project (kit
  gpk7yge), linked in header.php, header-home.php and header-modal.php. Only the
  --rn-font-* tokens below name the kit families. Univers Next in the kit has
  400 and 600, so its bold is 600; Termina has 500, 600 and 700.

  Adorn Serif is the wordmark face and is not loaded here -- it exists only as
  outlines inside the logo SVGs.
-------------------------------------------------------------------------------*/

:root {
  /* Type */
  --rn-font-display: 'termina', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --rn-font-body: 'univers-next-pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --rn-font-condensed: 'univers-next-pro-condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Main brand colors (style guide p.5) */
  --rn-copy: #241F1F;
  --rn-background: #FFFEF6;
  --rn-green: #67924C;
  --rn-green-dark: #41653A;
  --rn-green-light: #88A46F;
  --rn-green-extra-light: #B2D89B;

  /* Neutrals derived from the copy/background pair */
  --rn-ink-muted: #6B6560;
  --rn-ink-soft: #78716A;
  --rn-line: #E4DFD2;
  --rn-wash: #F5F1E4;
}

/* Reset */
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; }

/* Type */
* { font-family:var(--rn-font-body); color:var(--rn-copy); font-weight:400; }
p { margin:0px 0px 30px 0px; color:inherit; font-family:inherit; font-weight:inherit; }
/* Termina across the whole heading scale; Univers Next carries body copy. */
h1, h1 a:link, h1 a:visited { font-size:34px; line-height:44px; margin:28px 0px 14px 0px; color:var(--rn-copy); font-family:var(--rn-font-display); font-weight:500; letter-spacing:-0.01em; }
h2, h2 a:link, h2 a:visited { font-size:28px; line-height:38px; margin:24px 0px 12px 0px; color:var(--rn-copy); font-family:var(--rn-font-display); font-weight:500; letter-spacing:-0.01em; }
h3, h3 a:link, h3 a:visited { font-size:24px; line-height:33px; margin:22px 0px 10px 0px; color:var(--rn-copy); font-family:var(--rn-font-display); font-weight:500; letter-spacing:-0.005em; }
h4, h4 a:link, h4 a:visited { font-size:21px; line-height:30px; margin:10px 0px 6px 0px; color:var(--rn-copy); font-family:var(--rn-font-display); font-weight:500; letter-spacing:0em; }
h5, h5 a:link, h5 a:visited { font-size:18px; line-height:27px; margin:5px 0px 3px 0px; color:var(--rn-copy); font-family:var(--rn-font-display); font-weight:500; letter-spacing:0.01em; }
a:link, a:visited { color:var(--rn-green-dark); text-decoration:none; font-family:inherit; font-weight:inherit; }
a:hover, a:active { color:var(--rn-green-dark); text-decoration:underline; font-family:inherit; font-weight:inherit; }
ul { padding:0px 0px 10px 35px; margin:0px; color:inherit; font-family:inherit; }
ol { padding:0px 0px 10px 35px; margin:0px; color:inherit; font-family:inherit; }
ol li { padding:0px 0px 5px 0px; margin:0px; color:inherit; font-family:inherit; }
ul li { padding:0px 0px 5px 0px; margin:0px; color:inherit; font-family:inherit; }
hr { margin:0px 0px 20px 0px; } 
img { border:none; max-width:100%; height:auto; }
/* Univers Next's bold is 600 in the kit; inside headings strong stays on Termina Bold. */
strong { color:inherit; font-family:inherit; font-weight:600; }
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong { font-weight:700; }
strong a:link, strong a:visited, strong a:hover, strong a:active { }
em { color:inherit; font-family:inherit; font-weight:inherit; }
span { color:inherit; font-family:inherit; font-weight:inherit; }
iframe { max-width:100%; }
table tr td { vertical-align:top; }

/* Fonts */
.font_a { font-family:var(--rn-font-body); }
.font_b { font-family:var(--rn-font-display); }
.font_c { font-family:var(--rn-font-body); }
.font_d { }
.font_f { }

/* 50 desktop, 84 mobile */

/* Body */
body { 
  margin:0px; 
  padding: 80px 0px 0px 0px; 
  background:var(--rn-background); 
  text-align:center; 
  color: var(--rn-copy); 
}

body.body-home {
  padding: 234px 0px 0px 0px; 
}

body.banner-visible {
  padding: calc(84px + 80px) 0px 0px 0px; 
}

body.body-home.banner-visible {
  padding: calc(234px + 84px) 0px 0px 0px; 
}

@media screen and (min-width: 768px) {

  body {
    padding: 120px 0px 0px 0px;
  }

  body.body-home {
    padding: 275px 0px 0px 0px; 
  }

  body.banner-visible {
    padding: 170px 0px 0px 0px;
  }

  body.body-home.banner-visible {
    padding: 325px 0px 0px 0px; 
  }


}


body, html { height:100%; }
.body_modal { background:var(--rn-background); }

/* Main */
.main_skip { width:1px; height:1px; position:absolute; top:auto; left:-999px; font-size:15px; line-height:15px; overflow:hidden; z-index:-999; }
.main_skip:focus, .main_skip:active { margin:10px auto; padding:8px 15px; color:#fff; background-color:var(--rn-copy); left:10px; top:10px; width:auto; height:auto; overflow:auto; border-radius:3px; border:none; text-align:center; z-index:99999999; }

/* Header Navigation */
.header_navigation { display:block; height:120px; margin:0px; padding:0px 0px; }
/* align-items:center keeps the logo item, which carries its own fixed height,
   optically centred in the taller nav row instead of pinned to the top. */
.header_navigation .nav_menu { display:flex; width:100%; margin:0px; padding:0px; text-align:center; list-style:none; justify-content:center; align-items:center; }
.header_navigation .nav_menu li { display:inline-block; margin:0px; padding:0px; text-align:center; font-size:16px; line-height:120px; text-transform:none; letter-spacing:1px; font-family:var(--rn-font-display); position:relative; }
.header_navigation .nav_menu a:link, .header_navigation .nav_menu a:visited { display:block; margin:0px 0px; height:120px; padding:0px 80px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation .nav_menu a:hover, .header_navigation .nav_menu a:active { display:block; margin:0px 0px; height:120px; padding:0px 80px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation .nav_home { height:92px; margin:0px 0px; background:url(template/header/logo-rooted-north.svg) no-repeat center; background-size:contain; font-size:0px!important; }
.header_navigation .nav_home a,
.header_navigation .nav_home a:visited { 
  padding:0 90px !important;
}



/* Header Subnavigation */
.header_navigation .nav_menu li ul { width:100%; list-style:none; margin:0px; padding:5px 0px 10px 0px; position:absolute; top:115px; z-index:99999; background:var(--rn-background); border-radius:0px 0px 4px 4px; box-shadow:0px 5px 4px 0px rgba(0,0,0,0.1); }
.header_navigation .nav_menu li ul li { display:block; height:40px; margin:0px 15px; padding:0px; font-size:16px; line-height:40px; text-align:center; border-top:1px solid var(--rn-line); background:none; font-family:var(--rn-font-body); }
.header_navigation .nav_menu li ul li:first-child { border-top:none; }
.header_navigation .nav_menu li ul li a:link, .header_navigation .nav_menu li ul li a:visited { display:block; margin:0px; padding:0px 0px; color:var(--rn-copy); text-decoration:none; }
.header_navigation .nav_menu li ul li a:hover, .header_navigation .nav_menu li ul li a:active { display:block; margin:0px; padding:0px 0px; color:var(--rn-copy); text-decoration:none; }
.header_navigation .nav_menu ul, .header_navigation .nav_menu li:hover ul ul, .header_navigation .nav_menu ul li:hover ul ul { display:none; }
.header_navigation .nav_menu li:hover ul, .header_navigation .nav_menu ul li:hover ul, .header_navigation.nav_menu ul li ul li:hover ul { display:block; }

/* Header Navigation Home */
.header_navigation_home { display:block; height:70px; margin:0px; padding:0px; }
.header_navigation_home .nav_menu { display:block; width:100%; margin:0px; padding:0px; text-align:center; list-style:none; }
.header_navigation_home .nav_menu li { display:inline-block; margin:0px; padding:0px; text-align:center; font-size:17px; line-height:70px; text-transform:none; letter-spacing:1px; font-family:var(--rn-font-display); position:relative; }
.header_navigation_home .nav_menu a:link, .header_navigation_home .nav_menu a:visited { display:block; margin:0px 0px; height:70px; padding:0px 80px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation_home .nav_menu a:hover, .header_navigation_home .nav_menu a:active { display:block; margin:0px 0px; height:70px; padding:0px 80px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }

/* Header Subnavigation Home */
.header_navigation_home .nav_menu li ul { width:100%; list-style:none; margin:0px; padding:5px 0px 10px 0px; position:absolute; top:65px; z-index:99999; background:var(--rn-background); border-radius:0px 0px 4px 4px; box-shadow:0px 5px 4px 0px rgba(0,0,0,0.1); }
.header_navigation_home .nav_menu li ul li { display:block; height:40px; margin:0px 15px; padding:0px; font-size:16px; line-height:40px; text-align:center; border-top:1px solid var(--rn-line); background:none; font-family:var(--rn-font-body); }
.header_navigation_home .nav_menu li ul li:first-child { border-top:none; }
.header_navigation_home .nav_menu li ul li a:link, .header_navigation_home .nav_menu li ul li a:visited { display:block; margin:0px; padding:0px 0px; color:var(--rn-copy); text-decoration:none; }
.header_navigation_home .nav_menu li ul li a:hover, .header_navigation_home .nav_menu li ul li a:active { display:block; margin:0px; padding:0px 0px; color:var(--rn-copy); text-decoration:none; }
.header_navigation_home .nav_menu ul, .header_navigation_home .nav_menu li:hover ul ul, .header_navigation_home .nav_menu ul li:hover ul ul { display:none; }
.header_navigation_home .nav_menu li:hover ul, .header_navigation_home .nav_menu ul li:hover ul, .header_navigation_home.nav_menu ul li ul li:hover ul { display:block; }

/* Header Navigation Mobile */
.header_navigation_mobile { display:none; }

/* Footer Navigation */
.footer_navigation { display:block; margin:35px 20px 15px 20px; padding:0px; text-align:right; }
.footer_navigation .nav_menu { display:block; width:100%; margin:0px; padding:0px; text-align:right; list-style:none; }
.footer_navigation .nav_menu li { display:inline-block; margin:0px; padding:0px; text-align:right; font-size:16px; line-height:45px; }
.footer_navigation .nav_menu a:link, .footer_navigation .nav_menu a:visited { display:block; margin:0px; height:45px; padding:0px 10px; color:#FFFFFF; text-decoration:none; transition:0.1s; }
.footer_navigation .nav_menu a:hover, .footer_navigation .nav_menu a:active { display:block; margin:0px; height:45px; padding:0px 10px; color:var(--rn-copy); text-decoration:none; transition:0.1s; }

/* Header */
.header_container { 
  width:100%; margin:00px 0px 0px; padding:0px; background:var(--rn-background); 
  width: 100%;
  top: 0px;
  z-index: 200;
  position: absolute;

}


@media screen and (min-width: 768px) {

body.sticky .header_container {
  position: fixed;
  z-index: 999;
}

}

.header { width:100%; height:auto; margin:0px; padding:0px; position:relative; }
.header_logo { display:inline-block; height:102px; width:auto; margin:50px 0px 20px 0px; padding:0px; vertical-align:middle; }
.header_logo_sc { height:50px; }
.header_subtext { margin:0px 0px 20px 0px; padding:0px; color:var(--rn-copy); font-size:16px; line-height:16px; text-align:center; font-family:var(--rn-font-body); letter-spacing:2px; text-transform:none; }

/* Banner */
.banner_container { width:90%; margin:0px auto; padding:35px 0px; text-align:center; }
.banner_container h1 { margin:0px; font-family:var(--rn-font-display); color:#fff; }

/*-------------------------------------------------------------------------------
  Editor font-size presets
  Core sets these on .has-*-font-size with !important, so overriding the rule
  itself is a losing battle -- redefine the custom properties it resolves to
  instead. The doubled :root wins on specificity regardless of load order,
  since WordPress prints its own :root block later in the head.

  The stock values (large 36px, x-large/huge 42px) were chosen against the old
  serif and read far too heavy in Termina.
-------------------------------------------------------------------------------*/
:root:root {
  --wp--preset--font-size--small: 14px;
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--medium: 19px;
  --wp--preset--font-size--large: 26px;
  --wp--preset--font-size--x-large: 32px;
  --wp--preset--font-size--huge: 32px;
}

/* The fixed line-heights on .post_text h1-h5 do not scale when a preset
   changes the size, so give preset-sized text proportional leading. */
.post_text .has-small-font-size, .post_text_wide .has-small-font-size, .post_title .has-small-font-size,
.post_text .has-medium-font-size, .post_text_wide .has-medium-font-size, .post_title .has-medium-font-size { line-height:1.5; }
.post_text .has-large-font-size, .post_text_wide .has-large-font-size, .post_title .has-large-font-size,
.post_text .has-x-large-font-size, .post_text_wide .has-x-large-font-size, .post_title .has-x-large-font-size,
.post_text .has-huge-font-size, .post_text_wide .has-huge-font-size, .post_title .has-huge-font-size,
.post_text .has-larger-font-size, .post_text_wide .has-larger-font-size, .post_title .has-larger-font-size { line-height:1.28; letter-spacing:-0.01em; }

/*-------------------------------------------------------------------------------
  Home Page
  Hero slides with the three columns on a solid band of brand green, both driven
  by the "Home Page" ACF group. Each slide carries a desktop and an optional
  mobile crop; the <picture> swaps them at 767px.
-------------------------------------------------------------------------------*/

.home_hero { display:block; width:100%; margin:0px; padding:0px; background:var(--rn-copy); position:relative; overflow:hidden; }

.home_hero_slides { display:block; width:100%; height:62vh; min-height:420px; max-height:760px; margin:0px; padding:0px; position:relative; }
.home_hero_slide { display:block; width:100%; height:100%; margin:0px; padding:0px; position:absolute; top:0px; left:0px; }
.home_hero_image { display:block; width:100%; height:100%; margin:0px; padding:0px; object-fit:cover; object-position:center; }
/* A lone slide has no .is-active toggling to worry about. */
.home_hero:not(.home_hero--slideshow) .home_hero_slide { position:relative; }
.home_hero--slideshow .home_hero_slide { opacity:0; transition:opacity 1.2s linear; }
.home_hero--slideshow .home_hero_slide.is-active { opacity:1; }

/* The band: a full-width strip of brand green across the lower part of the
   photo, with a sliver of the image left showing beneath it. The side padding
   holds the columns to a 1200px measure without an extra wrapper. Columns align
   to the top so the labels line up; an icon, when one is set, sits above its
   label and adds no space when it is absent. */
.home_columns { display:flex; align-items:flex-start; justify-content:center; gap:40px; width:100%; margin:0px; padding:34px max(40px, calc((100% - 1200px) / 2)); box-sizing:border-box; position:absolute; left:0px; bottom:11%; background:var(--rn-green-dark); text-align:center; }
.home_column { flex:1 1 0; margin:0px; padding:0px; text-align:center; }
.home_column_icon { display:block; width:auto; height:64px; margin:0px auto 18px auto; padding:0px; }
.home_column_label { margin:0px 0px 10px 0px; padding:0px; color:var(--rn-green-extra-light); font-family:var(--rn-font-condensed); font-size:13px; line-height:17px; letter-spacing:0.34em; text-indent:0.34em; text-transform:uppercase; }
.home_column_copy { margin:0px auto; padding:0px; max-width:16ch; color:#FFF; font-family:var(--rn-font-display); font-weight:500; font-size:20px; line-height:28px; letter-spacing:-0.01em; text-wrap:balance; }

@media screen and (max-width: 900px) {
  .home_hero_slides { height:70vh; min-height:480px; }
  .home_columns { gap:26px; padding:26px 20px; }
  .home_column_icon { height:52px; margin-bottom:14px; }
  .home_column_label { font-size:11px; line-height:15px; letter-spacing:0.24em; text-indent:0.24em; margin-bottom:8px; }
  .home_column_copy { font-size:17px; line-height:23px; max-width:14ch; }
}

@media screen and (max-width: 640px) {
  /* Three columns get too narrow to read side by side, so they stack, and a
     stack that tall would cover most of the photo. The band drops below the
     image instead, so the photo can be shorter and stay clear. */
  .home_hero_slides { height:50vh; min-height:300px; max-height:460px; }
  .home_columns { position:static; flex-direction:column; align-items:center; gap:0px; padding:8px 24px; }
  .home_column { width:100%; padding:18px 0px; border-top:1px solid rgba(255,254,246,0.22); }
  .home_column:first-child { border-top:none; }
  .home_column_icon { height:40px; margin-bottom:9px; }
  .home_column_label { font-size:10px; letter-spacing:0.3em; text-indent:0.3em; margin-bottom:5px; }
  .home_column_copy { font-size:19px; line-height:25px; max-width:22ch; }
}

/*-------------------------------------------------------------------------------
  Announcement Page (page-announcement.php)
  Typographic intro, three photo-anchored brand pillars, three linked story
  blocks. All content comes from the "Announcement Page" ACF group.
-------------------------------------------------------------------------------*/

/* Intro */
.announce_intro { margin:0px; padding:0px; background:var(--rn-background); text-align:center; }
.announce_intro_inner { width:100%; max-width:820px; margin:0px auto; padding:86px 24px 70px 24px; box-sizing:border-box; }
.announce_intro_heading { margin:0px; padding:0px; font-family:var(--rn-font-display); font-weight:500; font-size:clamp(27px, 3.6vw, 38px); line-height:1.2; letter-spacing:-0.015em; color:var(--rn-copy); text-wrap:balance; }
.announce_intro_subheading { margin:22px 0px 0px 0px; padding:0px; font-family:var(--rn-font-condensed); font-size:clamp(14px, 1.7vw, 18px); line-height:1.5; letter-spacing:0.26em; text-indent:0.26em; text-transform:uppercase; color:var(--rn-green-dark); text-wrap:balance; }
.announce_intro_body { margin:36px auto 0px auto; padding:0px; max-width:660px; }
.announce_intro_body p { margin:0px 0px 20px 0px; font-size:17px; line-height:30px; color:var(--rn-copy); }
.announce_intro_body p:last-child { margin-bottom:0px; }

/* Brand pillars */
.announce_pillars_container { margin:0px; padding:0px; background:var(--rn-wash); }
.announce_pillars { display:flex; align-items:stretch; justify-content:center; gap:48px; width:100%; max-width:1280px; margin:0px auto; padding:78px 40px 84px 40px; box-sizing:border-box; }
.announce_pillar { display:flex; flex-direction:column; flex:1 1 0; margin:0px; padding:0px; text-align:center; }
.announce_pillar_media { margin:0px 0px 28px 0px; padding:0px; overflow:hidden; border-radius:3px; background:var(--rn-line); }
.announce_pillar_image { display:block; width:100%; height:300px; margin:0px; padding:0px; object-fit:cover; object-position:center; }
.announce_pillar_heading { margin:0px; padding:0px; font-family:var(--rn-font-display); font-weight:500; font-size:22px; line-height:30px; letter-spacing:-0.01em; color:var(--rn-copy); }
.announce_pillar_lead { margin:14px 0px 0px 0px; padding:0px; font-size:17px; line-height:27px; color:var(--rn-green-dark); }
.announce_pillar_body { margin:14px 0px 0px 0px; padding:0px; }
.announce_pillar_body p { margin:0px 0px 14px 0px; font-size:15px; line-height:26px; color:var(--rn-copy); }
.announce_pillar_body p:last-child { margin-bottom:0px; }
/* margin-top:auto keeps the buttons on one line across columns of uneven copy */
.announce_pillar_cta { margin:auto 0px 0px 0px; padding:26px 0px 0px 0px; }

/* Story blocks */
.announce_stories_container { margin:0px; padding:0px; background:var(--rn-background); text-align:center; }
.announce_stories_heading { margin:0px auto; padding:78px 24px 0px 24px; max-width:1280px; font-family:var(--rn-font-display); font-weight:500; font-size:clamp(20px, 2.2vw, 25px); line-height:1.28; letter-spacing:-0.01em; color:var(--rn-copy); }
.announce_stories { display:flex; align-items:stretch; justify-content:center; gap:32px; width:100%; max-width:1280px; margin:0px auto; padding:44px 40px 90px 40px; box-sizing:border-box; }
.announce_story { display:flex; flex-direction:column; flex:1 1 0; margin:0px; padding:0px; text-align:left; text-decoration:none; background:var(--rn-wash); border-radius:3px; overflow:hidden; transition:transform 0.18s ease, box-shadow 0.18s ease; }
a.announce_story:link, a.announce_story:visited { color:var(--rn-copy); text-decoration:none; }
a.announce_story:hover, a.announce_story:focus-visible { transform:translateY(-3px); box-shadow:0px 8px 22px rgba(36,31,31,0.13); text-decoration:none; }
.announce_story_media { margin:0px; padding:0px; overflow:hidden; background:var(--rn-line); }
.announce_story_image { display:block; width:100%; height:210px; margin:0px; padding:0px; object-fit:cover; object-position:center; }
.announce_story_text { display:flex; flex-direction:column; flex:1 1 auto; margin:0px; padding:24px 26px 26px 26px; }
.announce_story_label { margin:0px 0px 10px 0px; padding:0px; font-family:var(--rn-font-condensed); font-size:12px; line-height:16px; letter-spacing:0.28em; text-transform:uppercase; color:var(--rn-green-dark); }
.announce_story_title { margin:0px; padding:0px; font-family:var(--rn-font-display); font-weight:500; font-size:18px; line-height:26px; letter-spacing:-0.005em; color:var(--rn-copy); }
.announce_story_more { margin-top:auto; padding:18px 0px 0px 0px; font-family:var(--rn-font-condensed); font-size:13px; line-height:18px; letter-spacing:0.16em; text-transform:uppercase; color:var(--rn-green-dark); }
a.announce_story:hover .announce_story_more { color:var(--rn-green); }

@media screen and (max-width: 1024px) {
  .announce_pillars { gap:32px; padding:60px 24px 66px 24px; }
  .announce_pillar_image { height:250px; }
  .announce_stories { gap:22px; padding:36px 24px 70px 24px; }
  .announce_story_image { height:180px; }
  .announce_story_text { padding:20px 20px 22px 20px; }
}

@media screen and (max-width: 760px) {
  .announce_intro_inner { padding:56px 24px 48px 24px; }
  .announce_intro_body { margin-top:28px; }
  .announce_pillars, .announce_stories { flex-direction:column; gap:0px; }
  /* flex:1 1 0 sizes the columns evenly in a row, but once the container turns
     into a column that zero basis becomes a zero HEIGHT -- which the story
     cards then clip to nothing because they also carry overflow:hidden. */
  .announce_pillar, .announce_story { flex:0 0 auto; }
  .announce_pillars { padding:48px 24px 54px 24px; }
  .announce_pillar { padding:34px 0px; border-top:1px solid var(--rn-line); }
  .announce_pillar:first-child { border-top:none; padding-top:0px; }
  .announce_pillar_media { margin-bottom:22px; }
  .announce_pillar_image { height:230px; }
  .announce_pillar_cta { margin-top:22px; padding-top:0px; }
  .announce_stories_heading { padding-top:56px; }
  .announce_stories { padding:30px 24px 60px 24px; }
  .announce_story { margin:0px 0px 20px 0px; }
  .announce_story:last-child { margin-bottom:0px; }
  .announce_story_image { height:200px; }
}

/*-------------------------------------------------------------------------------
  Teaser (page-teaser.php)
  Pre-launch holding page. Type and color now come from the brand tokens above,
  so only layout lives here.
-------------------------------------------------------------------------------*/

.rn_teaser {
  /* Offsets the fixed site header, matching the body padding above. */
  --rn-header-offset: 80px;
  display:flex; align-items:center; justify-content:center;
  min-height:calc(100vh - var(--rn-header-offset));
  min-height:calc(100svh - var(--rn-header-offset));
  margin:0px; padding:60px 24px 80px 24px;
  background:var(--rn-background); color:var(--rn-copy);
  text-align:center; position:relative; overflow:hidden;
}
body.banner-visible .rn_teaser { --rn-header-offset:164px; }

.rn_teaser_inner { width:100%; max-width:760px; margin:0px auto; padding:0px; }
.rn_teaser_headline { margin:0px; padding:0px; font-family:var(--rn-font-display); font-weight:normal; font-size:clamp(27px, 4.6vw, 44px); line-height:1.22; letter-spacing:0.01em; color:var(--rn-copy); text-wrap:balance; }
.rn_teaser_rule { display:block; width:56px; height:2px; margin:34px auto 0px auto; padding:0px; border:0px; background:var(--rn-green-extra-light); }
.rn_teaser_date { margin:30px 0px 0px 0px; padding:0px; font-family:var(--rn-font-condensed); font-size:clamp(14px, 1.7vw, 18px); line-height:1.4; letter-spacing:0.34em; text-indent:0.34em; text-transform:uppercase; color:var(--rn-green-dark); }
.rn_teaser_icon { display:block; width:clamp(80px, 13.5vw, 140px); height:auto; margin:52px auto 0px auto; padding:0px; }

@media screen and (min-width: 768px) {
  .rn_teaser { --rn-header-offset:120px; padding:90px 40px 110px 40px; }
  body.banner-visible .rn_teaser { --rn-header-offset:170px; }
  .rn_teaser_icon { margin-top:64px; }
}

.rn_teaser_headline, .rn_teaser_rule, .rn_teaser_date, .rn_teaser_icon { animation:rn_teaser_rise 1s cubic-bezier(0.22, 0.61, 0.36, 1) both; }
.rn_teaser_rule { animation-delay:0.12s; }
.rn_teaser_date { animation-delay:0.2s; }
.rn_teaser_icon { animation-delay:0.32s; }

@keyframes rn_teaser_rise {
  from { opacity:0; transform:translateY(14px); }
  to { opacity:1; transform:none; }
}

@media (prefers-reduced-motion: reduce) {
  .rn_teaser_headline, .rn_teaser_rule, .rn_teaser_date, .rn_teaser_icon { animation:none; }
}

/* Footer */
.footer_container { margin:0px; padding:0px; background:var(--rn-background); box-shadow:inset 0px 15px 20px -15px var(--rn-line); }
.footer { display:flex; justify-content:space-between; align-items:stretch; margin:0px auto; padding:0px 0px; width:100%; max-width:1440px; text-align:center; overflow:auto; }
.footer_block { display:inline-block; flex-grow:1; flex-basis:25%; margin:45px 40px 30px 40px; padding:0px; color:var(--rn-copy); font-size:12px; line-height:22px; text-align:left; letter-spacing:1px; text-transform:none; float:left; }
.footer_block h5 { margin:0px 0px 5px 0px; color:var(--rn-copy); font-size:16px; line-height:20px; text-transform:none; }
.footer_block i { margin:5px 5px 0px 0px; }
.footer_block strong a:link, .footer_block strong a:visited { color:var(--rn-copy); text-decoration:none; }
.footer_block a:link, .footer_block a:visited { color:var(--rn-copy); text-decoration:none; }
.footer_block a:hover, .footer_block a:active { color:var(--rn-copy); text-decoration:none; }
.footer_button { margin:-5px 0px 0px 0px; padding:0px; text-align:left; }
.footer_button a:link, .footer_button a:visited {  display:inline-block; height:12px; padding:8px 20px; background:var(--rn-copy); border:1px solid var(--rn-line); border-radius:3px; text-decoration:none; color:#FFF; font-size:13px; line-height:13px; text-transform:none; }
.footer_button a:hover, .footer_button a:active {  display:inline-block; height:12px; padding:8px 20px; background:var(--rn-ink-muted); border:1px solid var(--rn-line); border-radius:3px; text-decoration:none; color:#FFF; font-size:13px; line-height:13px; text-transform:none; }
.footer_title { margin:0px 0px 5px 0px; color:var(--rn-copy); font-size:16px; line-height:20px; text-transform:none; }
.footer_copyright { width:100%; max-width:1280px; margin:0px auto 30px auto; padding:0px; color:var(--rn-copy); font-size:14px; line-height:20px; text-align:left; }
.footer_instagram { margin:0px; padding:0px; }

/* Main */
#main {}

/* Content */
.content_container { margin:0px; padding:0px; text-align:center; background:var(--rn-background); position:relative; overflow:auto; }
.content_container_a { margin:0px; padding:0px; text-align:center; background:var(--rn-background); position:relative; overflow:auto; box-shadow:inset 0px 15px 20px -15px var(--rn-line); }
.content_container_b { margin:0px; padding:0px; text-align:center; background:var(--rn-wash); position:relative; overflow:auto; box-shadow:inset 0px 15px 20px -15px var(--rn-line); }
.content_container_c { margin:0px; padding:0px; text-align:center; background:var(--rn-background); position:relative; overflow:auto; }
.content_container_d { margin:0px; padding:0px; text-align:center; background:var(--rn-wash); position:relative; overflow:auto; }
.content_container_c7 { margin:0px; padding:2rem 0; text-align:left; background:var(--rn-background); position:relative; overflow:auto; }

.content_feature { margin:0px; padding:0px; text-align:center; background-color:var(--rn-line); background-size:cover; background-position:center; position:relative; }
.content_banner { margin:0px; padding:0px; min-height:450px; text-align:center; background-size:cover; background-position:center; position:relative; overflow:hidden; }
.content_filter { margin:0px; padding:0px; text-align:center; background:var(--rn-copy); position:relative; overflow:visible; }
.content_slider { display:block; width:100%; margin:0px; padding:0px; position:relative; }
.content_modal { margin:0px; padding:20px 20px; text-align:left; position:relative; background:var(--rn-background); }
.content { display:block; width:100%; max-width:1280px; margin:0px auto; padding:0px; overflow-y:auto; overflow-x:hidden; position:relative; }
.content_wide { display:block; width:100%; margin:0px; padding:0px; overflow:auto; position:relative; }
.content_narrow { display:block; width:100%; max-width:990px; min-height:100px; margin:0px auto; padding:0px; overflow:auto; position:relative; }
.content_left { display:block; margin:0px; padding:0px; vertical-align:top; float:left; }
.content_right { display:block; margin:0px; padding:0px; vertical-align:top; float:right; }
.content_full { display:block; margin:0px; padding:0px; vertical-align:top; }
.content_border { border-left:1px solid var(--rn-line); box-sizing:border-box; }
.content_one { width:8%; }
.content_two { width:17% }
.content_three { width:25% }
.content_four { width:33%; }
.content_five { width:41%; }
.content_six { width:50%; }
.content_seven { width:59%; }
.content_eight { width:67%; }
.content_nine { width:75%; }
.content_ten { width:83%; }
.content_eleven { width:92%; }
.content_twelve { width:100%; }

/* Containers */
.container_title { margin:36px 30px 18px 30px; padding:0px; color:var(--rn-copy); font-size:34px; line-height:44px; letter-spacing:-0.01em; text-align:left; }
.container_text { margin:20px 20px 30px 20px; padding:20px 40px;font-size:15px; line-height:25px; text-align:left; overflow:auto; }

/* Post */
.post_title { width:80%; max-width:900px; margin:40px auto 10px auto; padding:0px; color:var(--rn-copy); font-size:30px; line-height:36px; text-align:center; text-transform:none; letter-spacing:2px; }
.post_text { width:80%; max-width:900px; margin:60px auto 45px auto; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; }
.post_text_wide { width:100%; max-width:1280px; margin:60px auto 45px auto; padding:0px 40px; box-sizing:border-box; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; overflow:auto; }
.post_title h1, .post_text h1, .post_text_wide h1 { margin:40px 0px 16px 0px; font-size:34px; line-height:44px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-transform:none; }
.post_title h2, .post_text h2, .post_text_wide h2 { margin:36px 0px 14px 0px; font-size:28px; line-height:38px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-transform:none; }
.post_title h3, .post_text h3, .post_text_wide h3 { margin:32px 0px 12px 0px; font-size:24px; line-height:33px; letter-spacing:-0.005em; font-family:var(--rn-font-display); text-transform:none; }
.post_title h4, .post_text h4, .post_text_wide h4 { margin:28px 0px 10px 0px; font-size:21px; line-height:30px; letter-spacing:0em; font-family:var(--rn-font-display); text-transform:none; }
.post_title h5, .post_text h5, .post_text_wide h5 { margin:24px 0px 8px 0px; font-size:18px; line-height:27px; letter-spacing:0.01em; font-family:var(--rn-font-display); text-transform:none; }
.post_title h1:first-child, .post_text h1:first-child, .post_text_wide h1:first-child,
.post_title h2:first-child, .post_text h2:first-child, .post_text_wide h2:first-child,
.post_title h3:first-child, .post_text h3:first-child, .post_text_wide h3:first-child,
.post_title h4:first-child, .post_text h4:first-child, .post_text_wide h4:first-child,
.post_title h5:first-child, .post_text h5:first-child, .post_text_wide h5:first-child { margin-top:0px; }
.post_text iframe {}
.post_text img { max-width:100%; margin:20px auto; border-radius:8px; }
.post_text figure { margin:40px auto; }

/* --- Floated images inside page content ---------------------------------
   The editor puts each section's photo in its own (empty) heading tag just
   before that section's heading. A tall float therefore stayed open into the
   next section: on /visit/ a left float and a right float ended up either
   side of "Tastings & Food Menu", leaving it 328px and wrapping it onto two
   lines. Clearing each float starts every section below the previous photo.

   The width cap stops a photo eating the text column on smaller desktops,
   where the gutter rules below 1024px previously collapsed to zero. */
@media screen and (min-width: 769px) {
  .post_text img.alignleft, .post_text img.alignright,
  .post_text_wide img.alignleft, .post_text_wide img.alignright { clear:both; max-width:42%; }
  .post_text img.alignleft, .post_text_wide img.alignleft { margin:20px 32px 26px 0px; }
  .post_text img.alignright, .post_text_wide img.alignright { margin:20px 0px 26px 32px; }
}

/* Each photo sits alone inside a heading (or paragraph) tag immediately before
   its section heading. Clearing that wrapper -- which is in flow, unlike the
   float inside it -- starts the whole section below the previous photo, so the
   heading beside it gets the full column instead of being squeezed into the
   gap left by the section above. Clearing the image alone is not enough: the
   image drops but the heading after it stays behind in the old float's shadow.
   The wrapper is a zero-height box, so its heading margins are removed too. */
.post_text > :has(> img.alignleft:only-child),
.post_text > :has(> img.alignright:only-child),
.post_text_wide > :has(> img.alignleft:only-child),
.post_text_wide > :has(> img.alignright:only-child) { clear:both; margin:0px; }

/* WordPress only pads paragraphs carrying a background colour, so a heading
   with one had its text hard against the edges of the block. */
.post_text h1.has-background, .post_text h2.has-background, .post_text h3.has-background,
.post_text h4.has-background, .post_text h5.has-background, .post_text h6.has-background,
.post_text_wide h1.has-background, .post_text_wide h2.has-background, .post_text_wide h3.has-background,
.post_text_wide h4.has-background, .post_text_wide h5.has-background, .post_text_wide h6.has-background { padding:24px 38px; }

@media screen and (max-width: 768px) {
  .post_text h1.has-background, .post_text h2.has-background, .post_text h3.has-background,
  .post_text h4.has-background, .post_text h5.has-background, .post_text h6.has-background,
  .post_text_wide h1.has-background, .post_text_wide h2.has-background, .post_text_wide h3.has-background,
  .post_text_wide h4.has-background, .post_text_wide h5.has-background, .post_text_wide h6.has-background { padding:18px 22px; }
}

.post_text figure.wp-block-gallery { display:flex; flex-wrap:wrap; justify-content:space-evenly; }
.post_text figure.wp-block-gallery .wp-block-image img { width:90%!important; height:auto!important; margin:5%!important; }
.post_split { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-around; align-items:stretch; }
.post_split_image { min-height:400px; flex-basis:50%; flex-grow:1; margin:0px; padding:0px; overflow:hidden; background-color:var(--rn-wash); background-size:cover; background-position:center; background-repeat:no-repeat; }
.post_split_image_cover { background-size:cover; }
.post_split_image_contain { background-size:contain; }
.post_split_text { flex-basis:50%; flex-grow:1; margin:0px; padding:0px; }
.post_split_text .post_text { margin:0px auto; padding:60px 0px 45px 0px; }
.post_split_right { order:2; }
.post_split_left { order:1; }
.post_cta { text-align:center; }
.post_intro { margin:20px 20px 20px 20px; padding:10px 40px; font-size:15px; line-height:25px; text-align:center; overflow:auto; }
.post_link { margin:0px; padding:0px; font-size:22px; line-height:35px; float:left; }
.post_header { margin:38px 20px 14px 20px; padding:0px; color:var(--rn-ink-muted); font-size:40px; line-height:50px; letter-spacing:-0.01em; text-align:center; font-family:var(--rn-font-display); }
.post_subhead { margin:0px 20px; padding:0px; color:var(--rn-ink-muted); font-size:19px; line-height:28px; text-align:center; font-family:var(--rn-font-display); }
.post_header_a { margin:38px 20px 14px 20px; padding:0px; color:#FFF; font-size:40px; line-height:50px; letter-spacing:-0.01em; text-align:center; font-family:var(--rn-font-display); }
.post_subhead_a { margin:0px 20px; padding:0px; color:#FFF; font-size:19px; line-height:28px; text-align:center; font-family:var(--rn-font-display); }
.post_subhead_a a:link, .post_subhead_a a:visited, .post_subhead_a a:hover, .post_subhead_a a:active { color:#FFF; text-decoration:underline; }

/* Sidebar */
.sidebar_featured_image { margin:40px 0 0;width:100%; height:300px; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;}
.sidebar_contact_wrap h4 { text-align:left;}
.sidebar_contact_wrap p { font-size: 14px;margin-bottom:4px; text-align:left;}
.sidebar_contact_info a.button { float:left; margin: 8px 0;}
.sidebar_contact_wrap h4 { color:var(--rn-green-dark); font-weight: 900; text-align:left;}
.sidebar_content { margin-top:60px;}

/* Text */
.text_color_a { color:var(--rn-copy); }
.text_color_b { color:var(--rn-copy); }
.text_color_c { color:var(--rn-ink-muted); }
.text_color_d { color:var(--rn-ink-soft); }
.text_color_e { color:var(--rn-line); }
.text_color_f { color:#FFFFFF; }

/* Link */
.link_button { display:inline-block; margin:10px auto 20px auto; padding:15px 40px; text-decoration:none; border-radius:4px; font-size:16px; line-height:20px; text-transform:none; letter-spacing:2px; box-shadow:0px 0px 4px var(--rn-line);  }
.link_button:link, .link_button:visited { background:#FFF; color:var(--rn-copy); transition:all 0.15s; font-family:var(--rn-font-display); text-decoration:none; }
.link_button:hover, .link_button:active { background:var(--rn-copy); color:#FFF; transition:all 0.15s; font-family:var(--rn-font-display); text-decoration:none; }
.link_button i { vertical-align:text-bottom; }
.link_button:hover i, .link_button:active i { color:#FFF; transition:all 0.2s; }

/* Forms */
.form_container { margin:30px 20px; padding:20px 20px; text-align:left; font-size:16px; line-height:26px; background:var(--rn-line); border-radius:5px; }
.form_body { margin:0px; padding:0px; overflow:auto; }
.form_field { display:block; height:35px; margin:10px 0px; padding:0px 5px; border:1px solid var(--rn-ink-soft); font-size:16px; }
.form_dropdown { display:block; height:30px; margin:10px 0px; padding:0px 0px 0px 5px; border:1px solid var(--rn-ink-soft); font-size:16px; }
.form_textarea { display:block; margin:10px 0px; padding:5px 5px; border:1px solid var(--rn-ink-soft); font-size:16px; line-height:26px; }
.form_button { height:35px; display:inline-block; margin:10px auto; padding:0px 40px; color:#FFF; font-size:20px; line-height:35px; text-align:center; font-family:var(--rn-font-display); background:var(--rn-copy); border-radius:1px; border:none; -webkit-appearance:none; }

/* Align */
.alignright { float:right; margin:0px 0px 10px 45px; }
.alignleft { float:left; margin:0px 45px 10px 0px; }

/* Scroll */
.scroll_top { display:inline-block; width:25px; height:25px; margin:0px; padding:0px; background:var(--rn-copy) url(template/icons/icon-scroll.png) center no-repeat; color:#FFF; border-radius:5px 5px 0px 0px; position:fixed; bottom:0px; right:15px; z-index:777; cursor:pointer; }

/* Admin */
.admin_edit_link { display:inline-block!important; margin:10px 0px!important; padding:5px 10px!important; font-size:10px!important; line-height:10px!important; border-radius:10px!important; position:absolute!important; bottom:5px!important; right:5px!important; z-index:299!important; }
.admin_edit_link:link, .admin_edit_link:visited { background:rgba(0,0,0,0.8)!important; color:#FFF!important; text-decoration:none!important; }
.admin_edit_link:hover, .admin_edit_link:active { background:rgba(0,0,0,1.0)!important; color:#FFF!important; text-decoration:none!important; }

/* Modal */
.modal_close { margin:0px; padding:0px; text-align:right; overflow:auto; }
.modal_close i { float:right; cursor:pointer; }

/* Responsive */
.desktop { display:inherit!important; }
.mobile { display:none!important; }

/* Custom Containers ------------------------------------------------------*/

/* Slider */
.slide_container { display:block; width:auto; margin:0px auto; padding:0px 0px 33% 0px; position:relative; overflow:hidden; }
.slide_panel { display:block; width:100%; margin:0px; padding:0px; background-position:center; background-size:cover; background-repeat:no-repeat; text-align:center; position:absolute; top:0px; bottom:0px; }
.slide_prev { width:80px; height:80px; margin:-60px 0px 0px 0px; padding:0px; position:absolute; top:50%; left:0px; z-index:9003; cursor:pointer; background:transparent url(template/icons/button-prev.png) no-repeat center; border-radius:0px 5px 5px 0px; opacity:0.9; transition:all 0.2s; }
.slide_next { width:80px; height:80px; margin:-60px 0px 0px 0px; padding:0px; position:absolute; top:50%; right:0px; z-index:9002; cursor:pointer; background:transparent url(template/icons/button-next.png) no-repeat center; border-radius:5px 0px 0px 5px; opacity:0.9; transition:all 0.2s; }
.slide_prev:hover, .slide_next:hover { opacity:1.0; transition:all 0.2s; }
.slide_show { display:block; }
.slide_hide { display:none; }
.slide_buttons { display:none; margin:0px; padding:0px; position:absolute; bottom:15px; right:20px; z-index:99999; overflow:auto; }
.slide_navigation_button { display:inline-block; width:13px; height:13px; margin:0px 0px 0px 5px; padding:0px; background:var(--rn-line); border:1px solid #FFF; border-radius:2px; }
.slide_navigation_button_active { display:inline-block; width:13px; height:13px; margin:0px 0px 0px 5px; padding:0px; background:#FFF; border:1px solid #FFF; border-radius:2px; }
.slide_mask { display:block; width:100%; margin:0px; padding:0px; background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 33%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.5) 66%, rgba(0,0,0,0) 100%); position:absolute; top:0px; bottom:0px; }
.slide_icons { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-around; align-items:baseline; width:100%; max-width:1400px; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); }
.slide_icon_block { display:inline-block; flex-basis:25%; flex-grow:1; }
.slide_icon_image { max-height:120px; max-width:120px; margin:20px auto; }
.slide_icon_text { width:80%; min-width:220px; margin:0px auto; padding:0px; color:#FFF; font-size:16px; line-height:25px; text-align:center; font-family:var(--rn-font-body); letter-spacing:2px; text-transform:none; }

/* Feature */
.feature_mask { width:100%; background:rgba(0,0,0,0.5); text-align:center; overflow:auto; }
.feature_block { display:inline-block; max-width:900px; margin:0px auto; padding:60px 0px; width:100%; position:relative; overflow:auto; }
.feature_text { color:#FFF; font-size:16px; line-height:26px; text-align:center; letter-spacing:1px; }
.feature_text h1 { margin:0px 0px 10px 0px; color:#FFF; font-size:38px; line-height:48px; text-align:center; text-transform:none; letter-spacing:-0.01em; }
.feature_text p { margin:0px; }

/* Filter */
.filter_container { margin:0px auto; height:45px; padding:0px; width:100%; max-width:1440px; text-align:center; overflow:visible; position:relative; }
.filter_select { display:inline-block; height:45px; width:16%; margin:0px 1%; padding:0px; text-align:left; position:relative; z-index:200; overflow:visible; }
.filter_title { display:block; margin:0px; padding:14px 10%; color:var(--rn-copy); font-size:14px; line-height:15px; font-family:var(--rn-font-display); text-align:left; letter-spacing:1px; text-transform:none; border:1px solid var(--rn-line); border-radius:3px; background:#FFF; cursor:pointer; box-shadow:0px 0px 4px var(--rn-line); }
.filter_title i { float:right; }
.filter_list { display:block; width:100%; margin:0px; padding:10px 0px; list-style:none; background:rgba(255,255,255,0.97); border-radius:0px 0px 3px 3px; box-shadow:inset 0px 15px 20px -15px var(--rn-line), 0px 0px 4px var(--rn-line); position:absolute; }
.filter_list li { display:block; margin:0px 8%; padding:10px 2%; list-style:none; font-size:15px; line-height:15px; letter-spacing:2px; text-transform:none; transition:all 0.1s;  border-top:1px solid var(--rn-line); cursor:pointer; }
.filter_list li:first-child { border-top:none; }
.filter_list li:hover { color:var(--rn-copy); transition:all 0.1s; }
.filter_list_checkbox { display:inline-block; height:15px; width:15px; margin:0px 8px 0px 0px; border:1px solid var(--rn-line); -webkit-appearance:none; float:left; }
.filter_list_checkbox:checked { background:url(template/icons/icon-checkmark.png) no-repeat center; }
.filter_list li.filter_list_parent { margin-top:20px; border-top:none; font-family:var(--rn-font-display); }
.filter_list li.filter_list_parent:first-child { margin-top:0px; }
.filter_list li.filter_list_child { font-weight:normal; font-size:123px; line-height:15px; }
.filter_list li.filter_list_parent { margin-top:20px; border-top:none; font-family:var(--rn-font-display); }
.filter_list li.filter_list_parent:first-child { margin-top:0px; }
.filter_list li.filter_list_child { font-weight:normal; font-size:12px; line-height:15px; }
.filter_sort_parent { cursor:default!important; }
.filter_sort_parent:hover { color:var(--rn-copy)!important; }
.filter_button { display:inline-block; height:45px; width:45px; margin:0px; padding:0px; color:#FFF; font-size:14px; line-height:45px; font-family:var(--rn-font-display); letter-spacing:1px; text-align:center; background:var(--rn-copy); border:none; border-radius:3px; transition:all 0.1s; -webkit-appearance:none; }
.filter_button:hover { background:var(--rn-copy); transition:all 0.1s; }
.filter_mobile { display:none; margin:0px auto; height:45px; padding:0px 0px; width:100%; font-size:17px; line-height:45px; font-family:var(--rn-font-display); letter-spacing:1px; text-transform:none; text-align:center; position:relative; cursor:pointer; }
.filter_scroll { display:inline-block; margin:0px auto; padding:0px; list-style:none; }
.filter_scroll li { display:inline-block; margin:14px 0px; padding:0px 20px; font-size:15px; line-height:22px; text-align:center; border-right:1px solid var(--rn-copy); text-transform:none; cursor:pointer; transition:all 0.15s; color: #fff; }
.filter_scroll li:last-child { border-right:none; }
.filter_scroll li:hover, .filter_scroll_active { color:#fff; transition:all 0.15s; }

/* Products */
.product_container { display:flex; flex-wrap:wrap; justify-content:space-around; align-items:stretch; margin:0px 0px 90px 0px; min-height:300px; }
.product_block { display:inline-block; flex-grow:0; flex-basis:33.33%; margin:60px 0px 45px 0px; padding:0px; text-align:center; }
.product_link { margin:0px; padding:0px; }
.product_link:hover .product_title, .product_link:active .product_title { color:var(--rn-copy); transition:color 0.2s; }
.product_image { display:block; margin:0px 20px; padding:0px 0px 100% 0px; position:relative; }
.product_image img { margin:0px; height:auto; max-height:100%; width:auto; max-width:100%; position:absolute; bottom:0%; left:50%; transform:translatex(-50%); object-fit: contain; }
.product_bottle img { height:100%; }
.product_can img { height:100%; }
.product_cans img { height:100%; }
.product_box img { height:100%; }
.product_keg img { height:100%; }
.product_info { margin:40px 20px 20px 20px; padding:0px; text-align:center; }
.product_brand { margin:0px 0px 10px 0px; padding:0px; font-size:16px; line-height:16px; text-transform:none; letter-spacing:1px; }
.product_title { margin:0px 0px 20px 0px; padding:0px; font-size:16px; line-height:20px; text-transform:none; letter-spacing:1px; font-family:var(--rn-font-display); transition:color 0.2s; }
.product_price { margin:0px 0px 20px 0px; padding:0px; font-size:25px; line-height:25px; letter-spacing:2px; }
.product_outofstock { margin:0px; padding:0px; font-size:16px; line-height:20px; text-align:center; }
.product_message { margin:45px 30px; text-align:center; }
.product_section { display:block; width:90%; max-width:750px; margin:60px auto 0px auto; padding:0px; overflow:auto; }
.product_section h1, .product_section h2 { margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.product_section h1:before, .product_section h1:after, .product_section h2:before, .product_section h2:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.product_section h1:before, .product_section h2:before { right:25px; margin-left:-50%; }
.product_section h1:after, .product_section h2:after { left:25px; margin-right:-50%; }
.product_spec {  padding:0px; overflow:auto; }
.product_spec_image { display:inline-block; width:32%; margin:0px 2%; padding:0px; text-align:center; float:left; }
.product_spec_image img { max-height:800px; width:auto; margin:0px auto; }
.product_spec_content { display:inline-block; width:60%; margin:0px 2%; padding:0px; text-align:center; float:right; overflow:auto; }
.product_spec_brand { margin:10px 20px 10px 20px; padding:0px; font-size:30px; line-height:35px; text-align:left; letter-spacing:2px; text-transform:none; }
.product_spec_title { margin:0px 20px 34px 20px; padding:0px; font-size:28px; line-height:37px; text-align:left; font-family:var(--rn-font-display); letter-spacing:-0.01em; text-transform:none; }
.product_spec_description { margin:0px 20px 20px 20px; padding:0px; font-size:16px; line-height:30px; text-align:left; letter-spacing:1px; }
.product_spec_description h5 { margin:0px 0px 5px 0px; font-size:16px; line-height:20px; letter-spacing:1px; font-family:var(--rn-font-display); text-transform:none; }
.product_spec_attribute { margin:0px 20px 20px 20px; padding:0px; font-size:16px; line-height:30px; text-align:left; letter-spacing:1px; }
.product_spec_attribute h5 { margin:0px 0px 5px 0px; font-size:16px; line-height:20px; letter-spacing:1px; font-family:var(--rn-font-display); text-transform:none; }
.product_spec_cart { display:block; width:250px; margin:45px 0px 0px 0px; padding:0px; text-align:left; overflow:auto; }
.product_spec_cart .winedirect_addtocart { margin:0px; text-align:left; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-price { margin:0px 20px 20px 20px; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-quantity { text-align:center; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-outOfStockMessage { margin:0px 20px; }
.product_spec_cart .winedirect_addcase { margin:5px 0px 0px 0px; }
.product_spec_cart .product_outofstock { text-align:left; padding:0px 20px; font-size:24px; line-height:24px; height:30px; }

/* Recommended */
.recommended { margin:60px 0px; padding:0px; background:var(--rn-wash); overflow:auto; }
.recommended_more { margin:60px 0px; padding:0px; background:none; overflow:auto; }
.recommended_section { display:block; width:90%; max-width:750px; margin:60px auto 40px auto; padding:0px; }
.recommended_section span { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.recommended_section span:before, .recommended_section span:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.recommended_section span:before { right:25px; margin-left:-50%; }
.recommended_section span:after { left:25px; margin-right:-50%; }
.recommended_section span:after { left:25px; margin-right:-50%; }
.recommended_text { width:90%; max-width:750px; margin:0px auto -60px auto; padding:0px; font-size:20px; line-height:30px; text-align:center; }
.recommended_cta { margin:0px 30px 60px 30px; padding:0px; text-align:center; }
.recommended_cta a:link, .recommended_cta a:visited { display:inline-block; margin:0px auto; padding:20px 35px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; transition:all 0.15s; box-shadow:0px 0px 4px var(--rn-line); }
.recommended_cta a:hover, .recommended_cta a:active { display:inline-block; margin:0px auto; padding:20px 35px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; transition:all 0.15s; box-shadow:0px 0px 4px var(--rn-line); }
.recommended_visit { width:90%; max-width:750px; margin:0px auto; padding:0px; font-size:20px; line-height:30px; text-align:center; }
.recommended_visit img { max-width:100%; margin:20px auto; border-radius:8px; }
.recommended_visit h3 { margin:14px 0px 26px 0px; font-size:23px; line-height:31px; letter-spacing:-0.005em; font-family:var(--rn-font-display); }

/* WineDirect Sync */
.winedirect_sync_header { margin:45px 15px 10px 15px; padding:0px; font-size:30px; line-height:30px; text-align:left; }
.winedirect_sync_table { width:98%; margin:0px 1% 60px 1%; padding:0px; font-size:10px; line-height:16px; text-align:left; border-bottom:1px solid var(--rn-ink-muted); font-family:'Arial'; }
.winedirect_sync_table tr:first-child td { border-bottom:1px solid var(--rn-ink-muted); font-weight:bold; font-family:'Arial'; }
.winedirect_sync_table tr:nth-child(even) { background:var(--rn-line); }
.winedirect_sync_table tr td { padding:5px; font-family:'Arial'; }
.winedirect_sync_button { padding:3px 10px; font-size:10px; line-height:10px; text-align:center; border-radius:5px; }
.winedirect_sync_button:link, .winedirect_sync_button:visited { color:#FFF; background:var(--rn-copy); text-decoration:none; }
.winedirect_sync_button:hover, .winedirect_sync_button:active { color:#FFF; background:var(--rn-copy); text-decoration:none; }
.winedirect_sync_all { padding:10px 20px; font-size:16px; line-height:16px; text-align:center; border-radius:5px; float:right;}
.winedirect_sync_all:link, .winedirect_sync_all:visited { color:#FFF; background:var(--rn-copy); text-decoration:none; }
.winedirect_sync_all:hover, .winedirect_sync_all:active { color:#FFF; background:var(--rn-copy); text-decoration:none; }
.winedirect_sync_result { margin:0px 15px 15px 15px; padding:0px; text-align:left; }
.winedirect_sync_types { display:inline-block; height:30px; font-size:16px; line-height:30px; text-align:left; vertical-align:middle; }

/* WineDirect Cart */
/* .winedirect_cart { display:inline-block; height:50px; margin:0px; padding:0px; position:absolute; left:50%; transform:translatex(-50%); } */
.v65-widgetModalCart { width: 400px; padding: 0 10px; height: 32px; background: var(--rn-line); position: relative; z-index: 999; }
.v65-widgetModalCart-status { height:20px; margin:0px; padding:15px 0px; color:var(--rn-copy); font-size:12px; line-height:20px; text-align:center; letter-spacing:1px; text-transform:none; }
.v65-widgetModalCart-status a { text-decoration:none; color:var(--rn-copy); }	

@media screen and (min-width: 768px) {
  .v65-widgetModalCart-status a { color:#fff; }	
}
.v65-widgetModalCart-itemCount { font-size:15px; line-height:20px; text-decoration:none; }
.v65-widgetModalCart-subTotal { font-size:15px; line-height:20px; text-decoration:none; }
.v65-widgetModalCart-dropdown { display:none; background:rgba(255,255,255,0.95); border:1px solid var(--rn-line); border-top:none; padding:10px; position:absolute; top:53px; left:-120px; }
.v65-widgetModalCart-closeButton { text-align: right; margin-bottom: 1em; }
.v65-widgetModalCart-closeButton a:link, .v65-widgetModalCart-closeButton a:visited { display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-copy); font-size:12px; line-height:12px; text-transform:none; }
.v65-widgetModalCart-closeButton a:hover, .v65-widgetModalCart-closeButton a:active { display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-ink-muted); font-size:12px; line-height:12px; text-transform:none; }
.v65-widgetModalCart-itemMessage {  }
.v65-widgetModalCart-itemSummary { width:370px; }
.v65-widgetModalCart-itemSummaryHeader { height:20px; padding:0px; border-bottom:1px solid var(--rn-line); color:var(--rn-copy); font-size:12px; line-height:20px; }	
.v65-widgetModalCart-items { margin:0px; padding:5px 0px; border-bottom: 1px solid var(--rn-line); overflow:auto; }	
.v65-widgetModalCart-itemSummaryQuantity { width:30px; font-size:12px; line-height:15px; text-align:center; float:left; }			
.v65-widgetModalCart-itemSummaryItem { width:50px; font-size:12px; line-height:15px; text-align:center; float:left; }
.v65-widgetModalCart-itemSummaryItem img { height:30px; width:auto; }
.v65-widgetModalCart-itemSummaryDescription { width:130px; font-size:12px; line-height:15px; text-align:center; float:left; }
.v65-widgetModalCart-itemSummaryDescription strong { font-size:12px; line-height:15px; font-weight:normal; }			
.v65-widgetModalCart-itemSummaryPrice { width:70px; font-size:12px; line-height:15px; text-align:right; float:left; }		
.v65-widgetModalCart-itemSummaryTotal { width:70px; padding:0px 10px; font-size:12px; line-height:15px; text-align:right; float:left; }
.v65-widgetModalCart-itemSummarySubTotal { background:var(--rn-background); width:370px; height:30px; padding:0px; }
.v65-widgetModalCart-itemSummarySubTotalLabel { width:280px; font-size:16px; line-height:30px; text-align:right; float:left; }
.v65-widgetModalCart-itemSummarySubTotalValue { width:70px; padding:0px 10px; font-size:16px; line-height:30px; text-align:right; float:left; }
.v65-widgetModalCart-itemMessageBottom { margin-bottom: 1em; }
.v65-widgetModalCart-BottomButtons { margin:15px 0px 0px 0px; text-align:right; }
.v65-widgetModalCart-viewCartButton { display:inline-block; margin-right:0px; }
.v65-widgetModalCart-viewCartButton a:link, .v65-widgetModalCart-viewCartButton a:visited { display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-copy); font-size:12px; line-height:12px; text-transform:none; }
.v65-widgetModalCart-viewCartButton a:hover, .v65-widgetModalCart-viewCartButton a:active { display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-ink-muted); font-size:12px; line-height:12px; text-transform:none; }
.v65-widgetModalCart-checkOutButton { display: inline-block; }
.v65-widgetModalCart-checkOutButton a:link, .v65-widgetModalCart-checkOutButton a:visited {  display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-copy); font-size:12px; line-height:12px; text-transform:none; }
.v65-widgetModalCart-checkOutButton a:hover, .v65-widgetModalCart-checkOutButton a:active { display:inline-block; height:12px; padding:4px 10px; background:#FFF; border-radius:2px; border:1px solid var(--rn-line); text-decoration:none; color:var(--rn-ink-muted); font-size:12px; line-height:12px; text-transform:none; }

/* WineDirect Account */
.v65-widgetLogin-wrapper {  }
.v65-widgetLogin-yourAccount, .v65-widgetLogin-editProfile { height:12px; margin:17px 0px; padding:2px 10px 2px 15px; color:var(--rn-copy); font-size:12px; line-height:12px; text-transform:none; text-align:right; letter-spacing:1px; border-right:1px solid #fff; float:left; }
.v65-widgetLogin-login, .v65-widgetLogin-logout { height:12px; margin:17px 0px; padding:2px 15px 2px 10px; color:var(--rn-copy); font-size:12px; line-height:12px; text-transform:none; text-align:right; float:left; }

/* WineDirect AddToCart */
.winedirect_addtocart { width:250px; margin:0px auto; padding:0px; text-align:center; }
.winedirect_addcase { 
  width:250px; 
  height:45px; 
  margin:5px auto 0px auto; 
  padding:0px; 
  text-align:center; 
  color:var(--rn-copy) !important; 
  font-size:14px; 
  line-height:43px; 
  font-family:var(--rn-font-display) !important; 
  letter-spacing:1px; 
  text-transform:none;  
  box-sizing:border-box; 
  border:1px solid var(--rn-line); 
  background:#FFF; 
  cursor:default; 
  transition:all 0.15s; 
  display: block !important;
}
.winedirect_addcase:hover { 
  color:#FFF !important; 
  background:var(--rn-copy); 
  transition:all 0.15s; 
}
.winedirect_addtocart .v65-widgetProduct-addToCart { }
.winedirect_addtocart .v65-widgetAddToCart {   }
.winedirect_addtocart .v65-widgetAddToCart legend { display:none;  }
.winedirect_addtocart .v65-widgetProduct-addToCart-priceWrapper {   }
.winedirect_addtocart .v65-widgetProduct-addToCart-price { margin:0px 0px 20px 0px; padding:0px; font-size:25px; line-height:25px; letter-spacing:2px; }
.winedirect_addtocart .v65-widgetProduct-addToCart-originalPrice { text-decoration: line-through; color:var(--rn-ink-soft); }
.winedirect_addtocart .v65-widgetProduct-addToCart-salePrice {   }
.winedirect_addtocart .v65-widgetProduct-addToCart-unitDescription { display:none; }
.winedirect_addtocart .v65-widgetProduct-addToCart-productSKU { display:none; }
.winedirect_addtocart .v65-widgetProduct-addToCart-quantity { display:inline-block; width:35%; margin:0px; padding:0px 2%; background:#FFF; border:1px solid var(--rn-line); border-left:none; box-sizing:border-box; float:right; }
.winedirect_addtocart .v65-widgetProduct-addToCart-quantity input { height:45px; width:40px!important; margin:0px; padding:0px; border:none; font-size:16px; line-height:45px; font-family:var(--rn-font-display); border-radius:0px; }
.winedirect_addtocart .v65-widgetProduct-addToCart-quantity i { cursor:pointer; }
.winedirect_addtocart .v65-widgetProduct-addToCart-button {  display:inline-block; width:65%; margin:0px; padding:0px; background:#FFF; border:1px solid var(--rn-line); border-right:none; box-sizing:border-box; float:left; }
.winedirect_addtocart .add-to-cart { display:block; width:100%; height:45px; margin:0px; padding:0px 0px; color:var(--rn-copy); font-size:14px; line-height:45px; font-family:var(--rn-font-display); letter-spacing:1px; text-align:center; border:none; background:none; text-transform:none; transition:all 0.15s; }
.winedirect_addtocart .add-to-cart:hover { color:#FFF; background:var(--rn-copy); transition:all 0.15s; }

/* Mailchimp */
#mc_embed_signup { margin:10px 0px; }
#mc_embed_signup .mc-field-group label { position:absolute; left:-5000px; }
#mc_embed_signup .mc-field-group input { height:25px; width:90%; max-width:200px; margin:0px 0px 6px 0px; padding:0px 8px; backgorund:#FFF; border:1px solid var(--rn-line); border-radius:2px; font-size:12px; line-height:25px; -webkit-appearance:none; }
#mc_embed_signup .button { width:auto; max-width:100px; height:25px; margin:4px 0px; padding:0px 20px; color:#FFF; font-size:12px; line-height:25px; text-transform:none; background:var(--rn-copy); border:none; border-radius:2px; -webkit-appearance:none; transition:all 0.15s; }
#mc_embed_signup .button:hover { background:var(--rn-ink-muted);  transition:all 0.15s; }

/* Visit */
.visit_resy { margin-bottom:0px; }
.visit_reservations { margin-top:15px; }

/* North Fork intro (page-region-lieb.php), from the "North Fork Page" ACF group. */
.region_intro { max-width:700px; margin:0px auto; padding:64px 24px 54px 24px; text-align:center; }
.region_intro_body p { margin:0px 0px 20px 0px; font-size:17px; line-height:30px; color:var(--rn-copy); }
.region_intro .link_button { margin:16px auto 0px auto; }

/* About (page-history-lieb.php): long-form story from the page content, held to
   a reading measure, with the opening paragraph set as a lead. */
.about_text { max-width:700px; }
.about_text > p:first-child { font-size:19px; line-height:32px; }

/* Team */
.team { display:flex; flex-wrap:wrap; justify-content:space-evenly; align-items:stretch; align-content:flex-start; margin:90px 10px 0px 10px; padding:0px; }
.team_block { display:inline-block; flex-grow:0; flex-basis:30%; margin:0px 0px 90px 0px; position:relative; }
.team_image { margin:0px; padding:0px 0px 100% 0px; background-color:#FFF; background-size:cover; background-position:center; border-radius:8px; }
.team_intro { margin:20px 25px 0px 25px; min-height:0px; padding:0px 0px 40px 0px; font-size:16px; line-height:28px; text-align:center; letter-spacing:2px; position:relative; }
.team_intro strong { font-size:15px; font-weight:400; letter-spacing:1px; }
.team_intro h3 { margin:0px 0px 14px 0px; color:var(--rn-copy); font-size:26px; line-height:35px; font-family:var(--rn-font-display); letter-spacing:-0.01em; }
.team_link { width:100%; margin:0px; padding:0px; text-align:center; position:absolute; bottom:0px; }
.team_link a:link, .team_link a:visited { display:inline-block; margin:0px auto; padding:20px 35px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.team_link a:hover, .team_link a:active { display:inline-block; margin:0px auto; padding:20px 35px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.team_bio_image { width:400px; max-width:100%; margin:15px auto 0px auto; padding:0px; }
.team_bio_image img { width:100%; height:auto; border-radius:8px; }
.team_bio_intro { margin:20px 20px 0px 20px; padding:0px; font-size:16px; line-height:28px; text-align:center; letter-spacing:2px; position:relative; }
.team_bio_intro strong { font-size:15px; font-weight:400; letter-spacing:1px; }
.team_bio_intro h1 { margin:0px 0px 14px 0px; color:var(--rn-copy); font-size:26px; line-height:35px; font-family:var(--rn-font-display); letter-spacing:-0.01em; text-transform:none; }
.team_bio_text { margin:0px 20px; padding:0px; font-size:16px; line-height:28px; text-align:left; }

/* Events */
.events { min-height:800px; margin:60px 0px 0px 0px; padding:0px; overflow:auto; }
.event_block { 
  margin:0px 30px 60px 30px; 
  padding:0px; 
  border-radius:8px; 
  background:#FFF; 
  box-shadow:0px 0px 4px var(--rn-line); 
  overflow:auto; 
  position:relative; 
  display: flex;
  align-items: center;
  flex-direction: column;
}

@media screen and (min-width : 768px) {
  .event_block {
    display: flex;
    align-items: center;
    flex-direction: row;
    position: relative;
  }
}

.event_block.bridge-lane { background:var(--rn-green-extra-light); }
.event_image { 
  display:block; 
  width:100%; 
  height: 100%;
}

@media screen and (min-width : 768px) {
  .event_image {
    height: 100%;
    width: 40%;
  }
}

.event_image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

@media screen and (min-width : 768px) {
  .event_image img {
    width: 100%;
    height: 100%;
  }
}

.event_text { 
  display:inline-block; 
  width:50%; 
  margin:0px; 
  padding:40px 5%; 
  text-align:left;
}
.event_text h3 { margin:0px 0px 13px 0px; color:var(--rn-copy); font-size:20px; line-height:28px; font-family:var(--rn-font-display); letter-spacing:0em; }
.event_attribute { margin:20px 0px 0px 0px; padding:0px; font-size:17px; line-height:22px; }
.event_exclusive { margin:0px; padding:0px; font-size:15px; line-height:15px; color:var(--rn-copy); text-transform:none; letter-spacing:1px; }
.event_link { margin:20px 0px 0px 0px; padding:0px; text-align:left; }
.event_link a:link, .event_link a:visited { display:inline-block; margin:0px 20px 0px 0px; padding:15px 30px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.event_link a:hover, .event_link a:active { display:inline-block; margin:0px 20px 0px 0px; padding:15px 30px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.event_spec { margin:90px 0px 60px 0px; padding:0px; overflow:auto; }
.event_spec_image { display:inline-block; width:40%; margin:0px 2.5%; padding:0px; text-align:center; float:left; }
.event_spec_image img { max-height:800px; width:auto; margin:0px auto; }
.event_spec_content { display:inline-block; width:50%; margin:0px 2.5%; padding:0px; text-align:center; float:right; overflow:auto; }
.event_spec_title { margin:0px 20px 45px 20px; padding:0px; text-align:left; }
.event_spec_title h1 { margin:0px; font-size:28px; line-height:37px; font-family:var(--rn-font-display); letter-spacing:-0.01em; }
.event_spec_description { margin:0px 20px 20px 20px; padding:0px; font-size:16px; line-height:30px; text-align:left; letter-spacing:1px; }
.event_spec_attribute { margin:0px 20px 20px 20px; padding:0px; font-size:16px; line-height:30px; text-align:left; letter-spacing:1px; }
.event_spec_price { margin:0px; padding:0px; font-size:25px; line-height:25px; letter-spacing:2px; }
.event_return { margin:0px 0px 90px 0px; padding:0px; text-align:center; }
.event_return a:link, .event_return a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.event_return a:hover, .event_return a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }

/* Club */
.club_intro { width:80%; max-width:900px; margin:60px auto 45px auto; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; position:relative; }
.club_intro h2 { margin:0px 0px 32px 0px; font-size:28px; line-height:37px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-transform:none; }
.club_intro ul li { margin:0px 0px 10px 0px; }
.club_options { display:flex; flex-wrap:wrap; justify-content:space-around; align-items:stretch; margin:90px 0px 60px 0px; padding:0px; }
.club_option_block { flex-basis:48%; margin:0px 0px 30px 0px; padding:0px; background:#FFF; box-shadow:0px 0px 4px var(--rn-line); border-radius:8px; transition:all 0.2s; overflow:auto; position:relative; }
.club_option_block:hover { box-shadow:0px 0px 4px var(--rn-copy); transition:all 0.2s; }
.club_option_title { margin:44px 30px 20px 30px; padding:0px; font-size:25px; line-height:33px; text-align:center; text-transform:none; letter-spacing:-0.005em; font-family:var(--rn-font-display); }
.club_option_text { margin:0px 30px 30px 30px; padding:0px; font-size:16px; line-height:30px; text-align:center; position:relative; }
.club_option_text ul { margin:0px; padding:0px; list-style:none; display: flex; flex-direction: column; align-items: center; }
.club_option_text ul li { display:inline-block; margin:0px; padding:25px 0px; position:relative; }
.club_option_text ul li:after { content:'';  border-top:1px solid var(--rn-ink-muted); width:350px; position:absolute; bottom:0; left:50%; transform:translateX(-50%); }
.club_option_text ul li:last-child:after { border-top:none; }
.club_option_link { margin:0px 0px 30px 0px; }
/* .club_option_link a:link, .club_option_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; } */
/* .club_option_link a:hover, .club_option_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; } */

/* Partners */
.partner_section { display:block; width:90%; max-width:750px; margin:60px auto 60px auto; padding:0px; }
.partner_section h2 { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.partner_section h2:before, .partner_section h2:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.partner_section h2:before { right:25px; margin-left:-50%; }
.partner_section h2:after { left:25px; margin-right:-50%; }
.partners { display:flex; flex-wrap:wrap; justify-content:space-evenly; align-items:stretch; align-content:center; margin:0px 10px 60px 10px; padding:0px; }
.partner_block { display:inline-block; flex-grow:0; flex-basis:23%; margin:0px 0px 45px 0px; position:relative; border-radius:8px; background:#FFF; box-shadow:0px 0px 4px var(--rn-line); }
.partner_image { margin:0px; padding:0px 0px 80% 0px; background-color:#FFF; background-size:cover; background-position:center; border-radius:8px 8px 0px 0px; }
.partner_text { margin:0px 0px 100px 0px; padding:0px; font-size:16px; line-height:28px; text-align:center; letter-spacing:1px; position:relative; background-color:#FFF; border-radius:0px 0px 8px 8px; }
.partner_title { margin:0px 20px; padding:26px 0px 0px 0px; font-size:19px; line-height:27px; text-align:center; letter-spacing:0em; font-family:var(--rn-font-display); text-transform:none; }
.partner_intro { margin:15px 20px 0px 20px; padding:0px 0px 20px 0px; font-size:16px; line-height:24px; text-align:center; letter-spacing:1px; text-transform:none; }
.partner_address { margin:0px; padding:18px 0px 0px 0px; font-size:15px; line-height:24px; text-align:center; letter-spacing:1px; font-family:var(--rn-font-body); }
.partner_address a:link, .partner_address a:visited, .partner_address a:hover, .partner_address a:active { color:var(--rn-copy); } 
.partner_link { width:100%; margin:0px; padding:0px; text-align:center; position:absolute; bottom:30px; }
.partner_link a:link, .partner_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.partner_link a:hover, .partner_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }

/* Press */
.press_section { display:block; width:90%; max-width:750px; margin:60px auto 60px auto; padding:0px; }
.press_section span { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.press_section span:before, .press_section span:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.press_section span:before { right:25px; margin-left:-50%; }
.press_section span:after { left:25px; margin-right:-50%; }
.press { display:flex; flex-wrap:wrap; justify-content:space-evenly; align-items:stretch; align-content:flex-start; margin:0px 15px 60px 15px; padding:0px; }
.press_block { display:inline-block; flex-grow:0; flex-basis:23%; margin:0px 0px 45px 0px; position:relative; border-radius:8px; background:#FFF; box-shadow:0px 0px 4px var(--rn-line); }
.press_image { margin:0px; padding:0px 0px 50% 0px; background-color:#FFF; background-size:contain; background-position:center; border-radius:8px 8px 0px 0px; background-repeat:no-repeat; }
.press_text { margin:0px 0px 100px 0px; padding:0px; font-size:16px; line-height:28px; text-align:center; letter-spacing:1px; position:relative; background-color:#FFF; border-radius:0px 0px 8px 8px; }
.press_date { margin:0px; padding:30px 0px 0px 0px; font-size:17px; line-height:20px; text-align:center; letter-spacing:1px; }
.press_publisher { margin:0px 20px; padding:10px 0px 0px 0px; text-align:center; }
.press_publisher h3 { margin:0px; font-size:20px; line-height:28px; letter-spacing:0em; font-family:var(--rn-font-display); }
.press_title { margin:0px 20px; padding:20px 0px 0px 0px; font-size:16px; line-height:24px; text-align:center; letter-spacing:1px; }
.press_link { width:100%; margin:0px; padding:0px; text-align:center; position:absolute; bottom:30px; }
.press_link a:link, .press_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.press_link a:hover, .press_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }

/* Trade */
.trade_section { display:block; width:90%; max-width:750px; margin:60px auto 0px auto; padding:0px; }
.trade_section h2 { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.trade_section h2:before, .trade_section h2:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.trade_section h2:before { right:25px; margin-left:-50%; }
.trade_section h2:after { left:25px; margin-right:-50%; }
.trade_intro { margin:30px 30px 90px 30px; padding:0px; font-size:17px; line-height:27px; text-align:center; position:relative; }
.trade_intro ul { margin:30px 0px; padding:0px; list-style:none; }
.trade_intro ul li { width:300px; display:inline-block; margin:0px 10px; padding:0px; }
.trade_intro ul li a:link, .trade_intro ul li a:visited { display:block; margin:0px auto; padding:15px 15px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.trade_intro ul li a:hover, .trade_intro ul li a:active { display:block; margin:0px auto; padding:15px 15px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.trade_intro h2 { display:block;  width:90%; max-width:750px; margin:52px auto 26px auto; padding:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.trade_intro h2:before, .trade_intro h2:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.trade_intro h2:before { right:25px; margin-left:-50%; }
.trade_intro h2:after { left:25px; margin-right:-50%; }
.trade { margin:30px auto 90px auto; padding:0px; border-spacing:none; }
.trade tr {  }
.trade td { margin:0px; padding:20px 10px; text-align:left; border-bottom:1px solid var(--rn-line); font-size:16px; line-height:20px; position:relative; }
.trade_image { height:150px; min-width:50px; margin:0px; padding:0px; text-align:center; }
.trade_image img { height:100%; width:auto; margin:0px; padding:0px; }
.trade_title { margin:0px; padding:0px; font-size:22px; line-height:30px; text-align:left; letter-spacing:1px; }
.trade_sku { margin:10px 0px 0px 0px; padding:0px; font-size:16px; line-height:22px; text-align:left; letter-spacing:1px; position:relative; }
.trade_link { display:inline-block; width:130px; margin:10px 0px 0px 10px; font-size:15px; line-height:15px; text-align:center; font-family:var(--rn-font-display); border-radius:3px; }
.trade_link:link, .trade_link:visited { padding:8px 0px; text-decoration:none; background:var(--rn-copy); color:#FFF; transition:all 0.15s; }
.trade_link:hover, .trade_link:active { padding:8px 0px; text-decoration:none; background:var(--rn-copy); color:#FFF; transition:all 0.15s; }
.trade_link i { color:#FFF; }

/* Locator */
.locator_map { width:90%; max-width:1100px; margin:60px auto 30px auto; padding:0px; position:relative; }
.locator_map .map_display { box-sizing:border-box; position:relative; }
.locator_map .map { top:0px; bottom:0px; left:0px; right:0px; border-radius:8px; }
.locator_map .map_info { }
.locator_map .map_filter { margin:30px auto; padding:0px; }
.locator_map .map_filter input[type=text] { min-width:300px; margin:0px 10px; padding:14px 10px; color:var(--rn-copy); font-size:14px; line-height:15px; font-family:var(--rn-font-display); letter-spacing:1px; text-transform:none; box-shadow:0px 0px 4px var(--rn-line); }
.locator_map .map_filter select { margin:0px 10px; padding:14px 10px; color:var(--rn-copy); font-size:14px; line-height:15px; font-family:var(--rn-font-display); letter-spacing:1px; text-transform:none; box-shadow:0px 0px 4px var(--rn-line); }
.locator_map .map_filter input[type=submit] { height:45px; width:45px; margin:0px 10px; padding:0px; font-size:14px; line-height:45px; font-family:var(--rn-font-display); letter-spacing:1px; }
.locator_map .map_filter input[type=submit]:hover { }
.locator_map .map_list { margin:0px 0px 90px 0px; padding:0px; }
.locator_map .map_list_block { width:90%; max-width:900px; border-radius:8px; box-shadow:0px 0px 4px var(--rn-line); }
.locator_map .map_list_title {  }
.locator_map .map_list_distance {  }
.locator_map .map_list_address {  }

/* Blog */
.blog_archive { margin:60px 0px 30px 0px; padding:0px; }
.blog_archive_block { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; align-items:stretch; margin:0px 30px; padding:45px 0px; }
.blog_archive_image { flex-basis:50%; margin:0px; padding:0px 0px 33% 0px; overflow:hidden; background-color:var(--rn-wash); background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:8px; }
.blog_archive_text { flex-basis:45%; margin:0px 0px 0px 5%; padding:15px 0px; text-align:left; }
.blog_archive_category { margin:0px 0px 10px 0px; padding:0px; font-size:16px; line-height:20px; letter-spacing:1px; }
.blog_archive_title { margin:0px 0px 26px 0px; padding:0px; font-size:25px; line-height:34px; font-family:var(--rn-font-display); letter-spacing:-0.005em; }
.blog_archive_title h2 { margin:0px; padding:0px; font-size:25px; line-height:34px; font-family:var(--rn-font-display);  letter-spacing:-0.005em; }
.blog_archive_date { margin:0px 0px 10px 0px; padding:0px; font-size:16px; line-height:20px; font-family:var(--rn-font-display); letter-spacing:1px; }
.blog_archive_intro { margin:0px 0px 20px 0px; padding:0px; font-size:16px; line-height:28px; letter-spacing:1px; }
.blog_archive_link { margin:0px; padding:0px; }
.blog_archive_link a:link, .blog_archive_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_archive_link a:hover, .blog_archive_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_archive_section { display:block; width:90%; max-width:750px; margin:30px auto; padding:0px; }
.blog_archive_section h1 { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.blog_archive_section h1:before, .blog_archive_section h1:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.blog_archive_section h1:before { right:25px; margin-left:-50%; }
.blog_archive_section h1:after { left:25px; margin-right:-50%; }
.blog_topic { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-around; align-items:stretch; margin:0px 0px; padding:0px 0px 60px 0px; }
.blog_topic_block { display:inline-block; flex-basis:29%; margin:40px 0px 0px 0px; padding:0px; position:relative; }
.blog_topic_image { margin:0px; padding:0px 0px 60% 0px; overflow:hidden; background-color:var(--rn-wash); background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:8px; }
.blog_topic_text { margin:0px; padding:20px 0px 50px 0px; text-align:left; }
.blog_topic_category { margin:0px 0px 10px 0px; padding:0px; font-size:16px; line-height:20px; letter-spacing:1px; }
.blog_topic_title { margin:0px 0px 26px 0px; padding:0px; font-size:24px; line-height:33px; font-family:var(--rn-font-display); letter-spacing:-0.005em; }
.blog_topic_title h2 { margin:0px; padding:0px; font-size:24px; line-height:33px; font-family:var(--rn-font-display); letter-spacing:-0.005em; }
.blog_topic_date { margin:0px 0px 10px 0px; padding:0px; font-size:16px; line-height:20px; font-family:var(--rn-font-display); letter-spacing:1px; }
.blog_topic_intro { margin:0px 0px 20px 0px; padding:0px; font-size:16px; line-height:28px; letter-spacing:1px; }
.blog_topic_link { width:100%; margin:0px; padding:0px; position:absolute; bottom:0px; text-align:left; }
.blog_topic_link a:link, .blog_topic_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_topic_link a:hover, .blog_topic_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_topic_section { display:block; width:90%; max-width:750px; margin:0px auto; padding:0px; }
.blog_topic_section span { display:block; margin:0px; font-size:22px; line-height:30px; font-family:var(--rn-font-display); text-align:center; text-transform:none; letter-spacing:0.02em; overflow:hidden; }
.blog_topic_section span:before, .blog_topic_section span:after { background-color:var(--rn-copy); content:""; display:inline-block; height:1px; position:relative; vertical-align:middle; width:50%; }
.blog_topic_section span:before { right:25px; margin-left:-50%; }
.blog_topic_section span:after { left:25px; margin-right:-50%; }
.blog_category { margin:90px 30px 10px 30px; padding:0px; font-size:24px; line-height:30px; letter-spacing:1px; text-align:left; }
.blog_title { margin:0px 30px 10px 30px; padding:0px; font-size:30px; line-height:40px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-align:left; }
.blog_title h1 { margin:0px; padding:0px; font-size:30px; line-height:40px; font-family:var(--rn-font-display); letter-spacing:-0.01em; }
.blog_date { margin:0px 30px 60px 30px; padding:0px; font-size:24px; line-height:30px; letter-spacing:1px; text-align:left; }
.blog_infographic { margin:-20px 30px 30px 30px; padding:0px; text-align:center; position:relative; }
.blog_infographic img { width:100%; height:auto; margin:0px; border-radius:8px; }
.blog_text { margin:0px 30px 60px 30px; padding:0px; font-size:16px; line-height:30px; text-align:left; position:relative; }
.blog_text img { width:auto; max-width:100%; margin:20px auto 30px auto; height:auto; border-radius:8px; }
.blog_return { margin:0px 30px 90px 30px; padding:0px; text-align:left; }
.blog_return a:link, .blog_return a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_return a:hover, .blog_return a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_more { display:block; margin:0px 30px 90px 30px; padding:0px; text-align:center; }
.blog_more a:link, .blog_more a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.blog_more a:hover, .blog_more a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:16px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.filter_container_blog { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 40px; height:auto; padding:18px 20px; box-sizing:border-box; }
.blog_filter, .blog_search { display:flex; align-items:center; gap:10px; margin:0px; padding:0px; }
.blog_filter label, .blog_search label { color:#FFF; font-size:14px; line-height:20px; font-family:var(--rn-font-display); letter-spacing:1px; }
.blog_filter select, .blog_search input[type=search], .blog_search button { box-sizing:border-box; height:38px; margin:0px; padding:0px 14px; color:var(--rn-copy); background-color:#FFF; font-size:14px; line-height:20px; font-family:var(--rn-font-display); font-weight:400; letter-spacing:1px; text-transform:none; border:1px solid var(--rn-line); border-radius:3px; box-shadow:0px 0px 4px var(--rn-line); }
.blog_filter select { width:280px; text-align:left; }
.blog_search input[type=search] { width:280px; -webkit-appearance:none; appearance:none; }
.blog_search input[type=search]::placeholder { color:var(--rn-ink-soft); opacity:1; }
.blog_search input[type=search]:focus { outline:2px solid var(--rn-green-light); outline-offset:1px; }
.blog_search button { padding:0px 20px; cursor:pointer; transition:all 0.15s; }
.blog_search button:hover, .blog_search button:focus { color:#FFF; background:var(--rn-green); }
.blog_search_summary { display:block; width:90%; max-width:750px; margin:-10px auto 0px auto; padding:0px; font-size:16px; line-height:26px; text-align:center; letter-spacing:1px; color:var(--rn-ink-muted); }
.blog_pagination { display:block; margin:0px 30px 40px 30px; padding:0px; text-align:center; }
.blog_pagination .page-numbers { display:inline-block; min-width:44px; margin:4px 3px; padding:12px 14px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:15px; line-height:20px; font-family:var(--rn-font-display); letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; box-sizing:border-box; }
.blog_pagination a.page-numbers:hover, .blog_pagination .page-numbers.current { background:var(--rn-copy); color:#FFF; text-decoration:none; }
.blog_pagination .page-numbers.dots { background:none; box-shadow:none; }

/* Private Parties */
.parties_providers { }
.parties_providers h3 { margin:28px 0px 13px 10px; padding:0px; font-size:20px; line-height:28px; font-family:var(--rn-font-display); letter-spacing:0em; }
.parties_providers ul { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:stretch; margin:0px; padding:0px; list-style:none; overflow:visible; }
.parties_providers ul li { display:inline-block; flex-basis:25%; margin:10px 1%; padding:15px 3%; font-size:17px; line-height:26px; text-align:left; border-radius:8px; box-shadow:0px 0px 4px var(--rn-line); }
.parties_providers ul li a:link, .parties_providers ul li a:visited, .parties_providers ul li a:hover, .parties_providers ul li a:active { font-size:13px; letter-spacing:0px; }

/* Tastings */
.tastings_form { width:80%; max-width:900px; margin:60px auto 45px auto; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; }
.tastings_form .wpforms-field input[type="text"],
.tastings_form .wpforms-field input[type="email"], 
.tastings_form .wpforms-field input[type="tel"] { height:auto!important; padding:12px 25px!important; color:var(--rn-ink-soft); font-size:16px!important; line-height:18px!important; text-transform:none; background:#FFF!important; border:1px solid var(--rn-wash)!important; box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; }
.tastings_form .wpforms-field textarea { padding:20px!important; color:var(--rn-ink-soft); font-size:16px!important; line-height:24px!important; background:#FFF!important; border:1px solid var(--rn-wash)!important; box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; }
.tastings_form .wpforms-field select { height:auto!important; padding:12px 25px!important; color:var(--rn-ink-soft)!important; font-size:16px!important; line-height:18px!important; text-transform:lowercase!important; background:#FFF!important; border:1px solid var(--rn-wash)!important; box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; -webkit-appearance:none!important; }
.tastings_form .wpforms-submit { height:auto!important; padding:20px 50px!important; margin:0px auto 20px auto!important; color:var(--rn-copy)!important; font-size:16px!important; line-height:18px!important; text-transform:lowercase!important; background:#FFF!important; border:1px solid var(--rn-wash)!important; box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; }
.tastings_form .wpforms-submit:after { padding:0px 0px 0px 10px; font-family:'Font Awesome 6 Pro'; content:"\f105"; font-size:14px; line-height:16px; vertical-align:bottom; }
.tastings_form .wpforms-submit-container { text-align:center!important; }
.tastings_form .wpforms-field, 
.tastings_form .wpforms-field-radio { padding:0px 0px 45px 0px!important; overflow:auto!important }
.tastings_form .wpforms-field-label { font-size:16px!important; color:var(--rn-copy)!important; font-family:var(--rn-font-display)!important; letter-spacing:1px!important; text-transform:lowercase!important; }
.tastings_form .wpforms-required-label { color:#E53236!important; }
.tastings_form .wpforms-field input:focus,
.tastings_form .wpforms-field select:focus, 
.tastings_form .wpforms-field textarea:focus { border:1px solid var(--rn-copy)!important; }
.tastings_form .form_limo label { display:inline-block!important; width:66%!important; padding:0px 0px 0px 6%!important; float:left!important; }
.tastings_form .form_limo ul { display:inline-block!important; width:250px!important; float:right!important; }
.tastings_form .form_limo ul li { display:inline-block!important; width:50%!important; float:left!important; }
.tastings_form .form_limo ul li label { display:inline-block!important; width:auto!important; line-height:30px!important; float:left!important; }
.tastings_form .form_limo ul li input[type="radio"] { width:30px!important; height:30px!important; margin:0px 0px 0px 10px; border:1px solid var(--rn-wash)!important; box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; }
.tastings_form .form_text { text-align:center!important; text-transform:lowercase!important; }
.tastings_form .form_text h5 { margin:0px; font-family:var(--rn-font-display); font-size:18px!important; line-height:26px; color:#E53236; text-transform:lowercase!important; }
.tastings_form .form_blockbox { }
.tastings_form .form_blockbox ul { }
.tastings_form .form_blockbox ul li { }
.tastings_form .form_blockbox ul li label { display:block!important; min-height:300px; padding:0px!important; margin:0px auto!important; font-size:16px!important; line-height:25px!important; text-align:center; text-transform:none; background:#FFF!important; border:1px solid var(--rn-wash); box-sizing:border-box; box-shadow:0px 4px 24px rgba(0, 0, 0, 0.05)!important; border-radius:4px!important; position:relative; }
.tastings_form .form_blockbox ul li div { width:90%; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); }
.tastings_form .form_blockbox ul li label strong { display:block; margin:0px 0px 10px 0px; color:var(--rn-copy)!important; font-size:19px; line-height:27px; font-family:var(--rn-font-display)!important; letter-spacing:1px!important; text-transform:lowercase!important; }
.tastings_form .form_blockbox ul li input[type="radio"] { visibility:hidden; }
.tastings_form .form_blockbox_active { border:1px solid #E53236!important; }
.tastings_form .wpforms-confirmation-container-full { background:none!important; border:none!important; text-align:center!important; font-family:var(--rn-font-display)!important; }

/* Fancybox */
.fancybox-bg { background:var(--rn-line)!important; }
.fancybox-content { width:720px!important; max-width:90%!important; height:90%!important; }
.fancybox-toolbar { display:none!important; }

/* WP Forms */
.wpforms-field input[type="text"] { font-size:15px!important; background:var(--rn-wash)!important; }
.wpforms-field input[type="email"] { font-size:15px!important; background:var(--rn-wash)!important; }
.wpforms-field textarea { font-size:15px!important; background:var(--rn-wash)!important; }
.wpforms-field-label { font-weight:400!important; }
.wpforms-submit { display:inline-block; margin:0px auto; padding:15px 45px!important; text-decoration:none; border-radius:3px!important; background:var(--rn-copy)!important; color:#FFF!important; font-size:16px!important; line-height:20px!important; font-family:var(--rn-font-display)!important; text-transform:none!important; letter-spacing:1px!important; box-shadow:0px 0px 4px var(--rn-line)!important; transition:all 0.15s; -webkit-appearance:none; }
.wpforms-submit:hover { background:var(--rn-ink-muted)!important; transition:all 0.15s; }
.wpforms-required-label { color:var(--rn-copy)!important; font-weight:400!important; }
.footer_block .wpforms-field input[type="text"], .footer_block .wpforms-field input[type="email"] { height:25px!important; width:90%!important; max-width:200px!important; margin:0px!important; padding:0px 8px!important; background:#FFF!important; border:1px solid var(--rn-line)!important; border-radius:2px!important; font-size:12px!important; line-height:25px!important; -webkit-appearance:none!important; }
.footer_block .wpforms-field-label { margin:0px 0px 5px 0px!important; padding:10px 0px 0px 0px!important; font-size:13px!important; line-height:15px!important; font-weight:400!important; }
.footer_block .wpforms-submit { width:auto!important; max-width:100px!important; height:25px!important; margin:0px 0px!important; padding:0px 20px!important; color:#FFF!important; font-size:12px!important; line-height:25px!important; text-transform:none!important; background:var(--rn-copy)!important; border:none!important; border-radius:2px!important; -webkit-appearance:none!important; transition:all 0.15s!important; }
.footer_block .wpforms-field { padding:0px!important; }
.footer_block .wpforms-container { margin:-10px 0px 0px 0px!important; }
.footer_block .wpforms-submit-container { margin:-5px 0px 0px 0px!important; }
.footer_block .wpforms-field-label-inline { font-size:13px!important; }

/* WD Forms */
.footer_block .v65-widgetForm legend { display:none!important; }
.footer_block .v65-widgetForm input[type="text"], .footer_block .v65-widgetForm input[type="email"] { display:block!important; height:25px!important; width:90%!important; max-width:200px!important; margin:0px 0px 10px 0px!important; padding:0px 8px!important; background:#FFF!important; border:1px solid var(--rn-line)!important; border-radius:2px!important; font-size:12px!important; line-height:25px!important; -webkit-appearance:none!important; }
.footer_block .v65-widgetForm input[type="email"] { margin:0px 0px 0px 0px!important; }
.footer_block .v65-widgetForm label { margin:0px 0px 5px 0px!important; padding:10px 0px 0px 0px!important; font-size:13px!important; line-height:15px!important; font-weight:400!important; }
.footer_block .v65-widgetForm button { width:auto!important; max-width:100px!important; height:25px!important; margin:0px!important; padding:0px 20px!important; color:#FFF!important; font-size:12px!important; line-height:25px!important; text-transform:none!important; background:var(--rn-copy)!important; border:none!important; border-radius:2px!important; -webkit-appearance:none!important; transition:all 0.15s!important; }
.signup { width:80%; max-width:900px; margin:60px auto 45px auto; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; }
.signup .v65-widgetForm legend { display:none!important; }
.signup .v65-widgetForm input[type="text"], .footer_block .wpforms-field input[type="email"] { height:40px!important; width:90%!important; max-width:90%!important; margin:0px 0px 10px 0px!important; padding:0px 8px!important; background:var(--rn-wash)!important; border:1px solid var(--rn-line)!important; border-radius:2px!important; font-size:15px!important; line-height:40px!important; -webkit-appearance:none!important; }
.signup .v65-widgetForm label { margin:0px 0px 5px 0px!important; padding:10px 0px 0px 0px!important; font-size:15px!important; line-height:15px!important; font-weight:400!important; }
.signup .v65-widgetForm button { display:inline-block; margin:10px auto 0px auto; padding:15px 45px!important; text-decoration:none; border-radius:3px!important; background:var(--rn-copy)!important; color:#FFF!important; font-size:16px!important; line-height:20px!important; font-family:var(--rn-font-display)!important; text-transform:none!important; letter-spacing:1px!important; box-shadow:0px 0px 4px var(--rn-line)!important; transition:all 0.15s; -webkit-appearance:none; }


/* CTA */
.cta_tab { display:inline-block; width:250px; margin:0px; padding:12px 25px 20px 25px; text-align:left; background:var(--rn-copy); border-radius:4px 0px 0px 4px; border:1px solid #FFF; border-right:none; position:fixed; z-index:99999; top:300px; right:-305px; transition:all 0.2s; }
.cta_tab_title { margin:0px 0px 0px 0px; padding:0px; color:#FFF; font-size:26px; line-height:34px; letter-spacing:-0.005em; }
.cta_tab_text { margin:0px; padding:0px; color:#FFF; font-size:16px; line-height:20px; }
.cta_tab_text p { margin:0px 0px 0px 0px; }
.cta_tab_close { display:inline-block; margin:0px; padding:0px; color:#FFF; position:absolute; top:15px; right:15px; z-index:100; cursor:default; }
.cta_tab_close i { color:#FFF; }
.cta_join { width:80%; max-width:900px; margin:0px auto 60px auto; padding:0px 0px 45px 0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:center; letter-spacing:1px; border-bottom:1px solid var(--rn-line); position:relative; }
.cta_join_title { margin:0px 30px 18px 30px; padding:0px; color:var(--rn-copy); font-size:28px; line-height:37px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-transform:none; text-align:center; }
.cta_join_text { margin:0px 30px; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:center; letter-spacing:1px; position:relative; }
.cta_join_link { margin:30px 30px 0px 30px; padding:0px; text-align:center; } 
.cta_join_link a:link, .cta_join_link a:visited { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:#FFF; color:var(--rn-copy); font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }
.cta_join_link a:hover, .cta_join_link a:active { display:inline-block; margin:0px auto; padding:15px 40px; text-decoration:none; border-radius:3px; background:var(--rn-copy); color:#FFF; font-size:17px; line-height:20px; font-family:var(--rn-font-display); text-transform:none; letter-spacing:1px; box-shadow:0px 0px 4px var(--rn-line); transition:all 0.15s; }

/* FAQ */
.faqs { margin:0px 0px 90px 0px; padding:0px; }
.faq_title { margin:0px 30px 32px 30px; padding:0px; color:var(--rn-copy); font-size:28px; line-height:37px; letter-spacing:-0.01em; font-family:var(--rn-font-display); text-transform:none; text-align:center; }
.faq_block { width:80%; max-width:900px; margin:0px auto 40px auto; padding:0px; position:relative; }
.faq_question {
    cursor: pointer;
    position: relative;
    /* Right padding keeps long questions clear of the +/× toggle. */
    padding: 0 40px 0 30px;
    transition: background 0.3s ease;
    font-family:var(--rn-font-display);
    color:var(--rn-copy);
    font-size:16px;
    line-height:28px;
    text-align:left;
    letter-spacing:1px;
    position:relative;
    overflow:visible;
    margin-bottom:10px;
    border: none;
    background: none; 
    text-align: left;
    width: 100%;
}

.faq_q { position:absolute; left:0px; top:0px; font-family:var(--rn-font-display); }

.faq_question:after {
    content: '+';
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    transition: transform 0.3s ease;
}

.faq_question.active:after {
    transform: translateY(-50%) rotate(45deg);
}

.faq_answer p {
  margin:0 !important;
}

.faq_answer { padding:0px 0px 0px 30px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:left; letter-spacing:1px; position:relative; }
.faq_a { position:absolute; left:0px; top:0px; }

/* Thank You */
.thank_you { width:80%; max-width:900px; margin:60px auto; padding:0px; color:var(--rn-copy); font-size:16px; line-height:28px; text-align:center; letter-spacing:1px; }
.thank you h2 { margin:0px 0px 15px 0px; }

/* Order Confirmation */
.order_title { margin:52px 30px 14px 30px; padding:0px; color:var(--rn-copy); font-size:28px; line-height:37px; text-align:left; letter-spacing:-0.01em; }
.order_text { margin:0px 30px 45px 30px; padding:0px; color:var(--rn-copy); font-size:16px; line-height:26px; text-align:left; }

/* Tock */
div#Tock_widget_container>div.TockWidgetWrapper .TockButton-blue { background-color:var(--rn-copy)!important; }

/* Media Queries ------------------------------------------------------*/

@media screen and (max-width : 1600px) {
	
}

@media screen and (max-width : 1366px) {
	
}

@media screen and (max-width : 1280px) {

/* Header Navigation */
.header_navigation .nav_menu a:link, .header_navigation .nav_menu a:visited { padding:0px 70px; }
.header_navigation .nav_menu a:hover, .header_navigation .nav_menu a:active { padding:0px 70px; }
.header_navigation_home .nav_menu a:link, .header_navigation_home .nav_menu a:visited { padding:0px 60px; }
.header_navigation_home .nav_menu a:hover, .header_navigation_home .nav_menu a:active { padding:0px 60px; }

}

@media screen and (max-width : 1024px) {

/* Header Navigation */
.header_navigation .nav_menu a:link, .header_navigation .nav_menu a:visited { padding:0px 34px; }
.header_navigation .nav_menu a:hover, .header_navigation .nav_menu a:active { padding:0px 34px; }
.header_navigation .nav_home { height:76px; }
.header_navigation_home .nav_menu a:link, .header_navigation_home .nav_menu a:visited { padding:0px 34px; }
.header_navigation_home .nav_menu a:hover, .header_navigation_home .nav_menu a:active { padding:0px 34px; }
.header_navigation .nav_menu li, .header_navigation_home .nav_menu li { font-size:15px; letter-spacing:1px; }

/* WineDirect Cart */
/* .winedirect_cart { left:25%; transform:translatex(0%); } */

}

@media screen and (max-width : 768px) {

/* Responsive */
.desktop { display:none!important; }
.mobile { display:inherit!important; }

/* Header Navigation Mobile */
.header_navigation_mobile_home { display:block; height:50px; margin:0px; padding:0px 0px; }
/* One row on every phone: spread the links evenly instead of letting them wrap. */
.header_navigation_mobile_home .nav_menu { display:flex; flex-wrap:nowrap; justify-content:space-evenly; width:100%; max-width:440px; margin:0px auto; padding:0px; text-align:center; list-style:none; }
.header_navigation_mobile_home .nav_menu li { display:block; flex:none; white-space:nowrap; margin:0px; padding:0px; text-align:center; font-size:16px; line-height:50px; text-transform:none; letter-spacing:1px; font-family:var(--rn-font-display); position:relative; }
.header_navigation_mobile_home .nav_menu a:link, .header_navigation_mobile_home .nav_menu a:visited { display:block; margin:0px 0px; height:50px; padding:0px 6px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation_mobile_home .nav_menu a:hover, .header_navigation_mobile_home .nav_menu a:active { display:block; margin:0px 0px; height:50px; padding:0px 6px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation_mobile { display:none; width:90%; margin:0px 5%; padding:5px 0px 5px 0px; text-align:left; position:absolute; z-index:9999; top:80px; left:0px; background:rgba(255,255,255,0.97); border-radius:0px 0px 4px 4px; box-shadow:inset 0px 15px 20px -15px var(--rn-line); }
.header_navigation_mobile .nav_menu { width:100%; margin:0px auto; padding:0px; list-style:none; }
.header_navigation_mobile .nav_menu li { display:block; min-height:60px; margin:0px; padding:0px; text-align:center; font-size:21px; line-height:56px; font-family:var(--rn-font-display); letter-spacing:0em; text-transform:none; }
.header_navigation_mobile .nav_menu a:link, .header_navigation_mobile .nav_menu a:visited { display:block; margin:0px; height:60px; padding:0px 20px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation_mobile .nav_menu a:hover, .header_navigation_mobile .nav_menu a:active { display:block; margin:0px; height:60px; padding:0px 20px; color:var(--rn-copy); text-decoration:none; transition:all 0.15s; }
.header_navigation_mobile .nav_menu li ul { display:none; width:100%; max-width:300px; margin:0px auto; padding:0px; list-style:none; }
.header_navigation_mobile .nav_menu li ul li { display:block; height:40px; min-height:40px; margin:0px; padding:0px 10px; text-align:center; font-size:20px; line-height:40px; font-family:var(--rn-font-body);  border-bottom:1px solid var(--rn-line); }
.header_navigation_mobile .nav_menu li ul li:last-child { border-bottom:none; }
.header_navigation_mobile .nav_menu li ul li a:link, .header_navigation_mobile .nav_menu li ul li a:visited { color:var(--rn-copy); }
.header_navigation_mobile .nav_menu li ul li a:hover, .header_navigation_mobile .nav_menu li ul li a:active { color:var(--rn-copy); }
.header_navigation_mobile_primary { background-position:top 15px right 10px; background-repeat:no-repeat; } 
.header_navigation_mobile_primary a::after { 
  font: var(--fa-font-solid);
  font-size:16px; 
  line-height:30px; 
  font-weight:900; 
  content:'\f078'; 
  margin:0px -30px 0px 15px; 
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.header_navigation_mobile_primary ul li a::after { content:''; margin:0px; }

/* Header Navigation */
.header_navigation { display:none; }

/* Header */
.header_mobile { display:block; width:100%; min-width:300px; height:auto; margin:0px; padding:0px; background:var(--rn-background); position:absolute; top:0px; left:0px; z-index:999999; }

.page-id-10856 .header_mobile {
  z-index: 1;
}

body.sticky .header_mobile {
  position: fixed;
  top: 0;
}

.header { width:100%; min-width:300px; height:80px; margin:0px; padding:0px; text-align:center; position:relative; background:var(--rn-background); }
.header_home { height:auto; position:relative; }
.header_logo { height:38px; margin:15px 10px; }
.header_logo { height:46px; margin:0px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1; }
.header_logo_home { height:76px; margin:20px 0px 10px 0px; z-index:1; }
.header_subtext { margin:0px 0px 10px 0px; font-size:11px; line-height:11px; }
.header_mobile_menu { display:inline-block; width:40px; height:40px; padding:0px; position:absolute; right:15px; top:50%; font-size:25px; line-height:40px; font-weight:300; text-align:right; cursor:pointer; transform:translateY(-50%); }
.header_mobile_home { height:40px; width:auto; margin:0px; padding:0px; position:relative; z-index:1; }
.header_mobile_home .winedirect_cart {  }
.header_mobile_home .v65-widgetModalCart-status { text-align:left; }
.header_mobile_home .v65-widgetModalCart-dropdown { top:40px; border-top:1px solid var(--rn-line); }
.header_mobile_home .v65-widgetModalCart-subTotal { display:none; }
.header_mobile_home .header_navigation_mobile { top:40px; }

/* Footer */
.footer_container { margin:0px; padding:0px; background:var(--rn-background); box-shadow:inset 0px 15px 20px -15px var(--rn-line); }
.footer { display:block; min-width:300px; text-align:center; overflow:auto; }
.footer_block { display:block; margin:45px 30px 0px 30px; text-align:center; float:none; }
.footer_block h5 { margin:0px 0px 5px 0px; color:var(--rn-copy); font-size:16px; line-height:20px; text-transform:none; }
.footer_copyright { width:100%; max-width:1280px; margin:0px auto 30px auto; padding:0px; color:var(--rn-copy); font-size:14px; line-height:20px; text-align:left; }
.footer_button { margin:-5px 0px 0px 0px; padding:0px; text-align:center; }

/* Content */
.content_container { min-width:300px; max-width:none; }
.content_container_a { min-width:300px; max-width:none; }
.content_feature { min-width:300px; max-width:none; }
.content_banner { min-width:300px; max-width:none; }
.content_filter { min-width:300px; max-width:none; }
.content { min-width:300px; max-width:none; }
.content_wide { min-width:300px; max-width:none; }
.content_narrow { min-width:300px; max-width:none; }
.content_left { float:none; }
.content_right { float:none; }
.content_one { width:100%; }
.content_two { width:100% }
.content_three { width:100% }
.content_four { width:100%; }
.content_five { width:100%; }
.content_six { width:100%; }
.content_seven { width:100%; }
.content_eight { width:100%; }
.content_nine { width:100%; }
.content_ten { width:100%; }
.content_eleven { width:100%; }
.content_twelve { width:100%; }
.content_sidebar { display:none; }

/* Containers */
.container_title { margin:20px 15px 15px 15px; font-size:26px; line-height:34px; }
.container_text { margin:0px 15px 30px 15px; font-size:14px; }

/* Post */
.post_title { width:90%; max-width:900px; margin:0px 20px 15px 20px; font-size:26px; line-height:30px; }
.post_text { width:90%; max-width:900px; margin:20px; font-size:16px; padding:0; }
.post_text_wide { padding:0px 20px; }
.post_title h1, .post_text h1, .post_text_wide h1 {  }
.post_title h2, .post_text h2, .post_text_wide h2 {  }
.post_title h3, .post_text h3, .post_text_wide h3 {  }
.post_title h4, .post_text h4, .post_text_wide h4 {  }
.post_title h5, .post_text h5, .post_text_wide h5 {  }
.post_text iframe { width:290px; height:162px; margin:0px 0px 15px 0px; }
.post_text img { max-width:100%; width:100%; float:none; margin:20px auto; border-radius:8px; }
.post_text figure { display:block!important; margin:15px auto; }
.post_text figure.wp-block-gallery { display:flex!important; flex-wrap:wrap; justify-content:space-evenly; }
.post_text figure.wp-block-gallery .wp-block-image img { width:90%!important; height: auto!important; margin:5%!important; }
.post_sharing { margin:0px 15px 15px 15px; }
.post_sharing .addthis_sharing_toolbox { float:none!important; }
.post_link { margin:0px 10px 20px 10px; padding:10px 5px 0px 5px; font-size:16px; line-height:20px; text-align:left; border-top:1px dotted var(--rn-ink-soft); }
.post_split { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:flex-start; }
.post_split_image { order:1!important; min-height:0px; flex-basis:100%; flex-grow:1; padding:0px 0px 66% 0px; }
.post_split_image_cover { background-size:cover; }
.post_split_image_contain { background-size:contain; }
.post_split_text { order:2!important; flex-basis:100%; flex-grow:1; }
.post_split_text .post_text { margin:0px auto; padding:60px 0px 45px 0px; }
.post_split_right { order:2; }
.post_split_left { order:1; }

/* Link */
.link_button { display:block; }
.link_button:link, .link_button:visited { }
.link_button:hover, .link_button:active { }


/* Custom Containers ------------------------------------------------------*/

/* Slider */
.slide_container { margin:0px 0px; padding:0px 0px 100% 0px; }
.slide_icons { flex-wrap:wrap; }
.slide_icon_block { flex-basis:50%; }
.slide_icon_image { max-height:90px; max-width:100px; margin:20px auto; }
.slide_icon_text { width:85%; min-width:0px; color:#FFF; font-size:14px; line-height:20px; }

/* Feature */
.feature_block { width:auto; max-width:100%; margin:0px 20px; padding:45px 0px; }
.feature_text { font-size:16px; line-height:22px; }
.feature_text h1 { font-size:28px; line-height:38px; }

/* Filter */
.filter_container { display:block; margin:0px 0px; height:auto; padding:0px 0px 15px 0px; width:100%; min-width:300px; }
.filter_container_blog { display:flex; flex-direction:column; align-items:stretch; gap:12px; height:auto; padding:20px 20px; }
.blog_filter, .blog_search { width:100%; max-width:420px; margin:0px auto; justify-content:center; }
.blog_filter label, .blog_search label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.blog_filter select, .blog_search input[type=search], .blog_search button { height:44px; font-size:16px; }
.blog_filter select { flex:1 1 auto; width:100%; }
.blog_search input[type=search] { flex:1 1 auto; width:auto; min-width:0px; }
.blog_search button { flex:0 0 auto; }
.filter_select { display:block; height:auto; width:auto; margin:0px 10px; padding:0px; overflow:auto; }
.filter_title { box-shadow:none; border:none; border-bottom:1px solid var(--rn-line); }
.filter_list { display:none; width:100%; margin:0px; padding:10px 0px; list-style:none; background:#FFF; border-radius:0px; box-shadow:none; position:relative; }
.filter_list li { display:block; margin:0px 8%; padding:10px 2%; list-style:none; font-size:15px; line-height:15px; letter-spacing:2px; text-transform:none; transition:all 0.1s; border-top:1px solid var(--rn-line); cursor:pointer; }
.filter_list li:first-child { border-top:none; }
.filter_list li:hover { color:var(--rn-copy); transition:all 0.1s; }
.filter_list_checkbox { display:inline-block; height:15px; width:15px; margin:0px 8px 0px 0px; border:1px solid var(--rn-line); -webkit-appearance:none; float:left; }
.filter_list_checkbox:checked { background:url(template/icons/icon-checkmark.png) no-repeat center; }
.filter_list li.filter_list_parent { margin-top:20px; border-top:none; font-family:var(--rn-font-display); }
.filter_list li.filter_list_parent:first-child { margin-top:0px; }
.filter_list li.filter_list_child { font-weight:normal; font-size:13px; line-height:15px; }
.filter_list li.filter_list_parent { margin-top:20px; border-top:none; font-family:var(--rn-font-display); }
.filter_list li.filter_list_parent:first-child { margin-top:0px; }
.filter_list li.filter_list_child { font-weight:normal; font-size:13px; line-height:15px; }
.filter_sort_parent { cursor:default!important; }
.filter_sort_parent:hover { color:var(--rn-copy)!important; }
.filter_button { display:block; height:45px; width:300px; margin:15px auto 0px auto; }
.filter_mobile { display:block; }

/* Products */
.product_container { margin:0px 0px 75px 0px; min-height:300px; }
.product_block { flex-basis:90%; margin:45px 0px 0px 0px; }
.product_info { margin:20px 20px 15px 20px; }
.product_brand { margin:0px 0px 10px 0px; padding:0px; font-size:13px; line-height:13px; }
.product_title { margin:0px 0px 15px 0px; padding:0px; font-size:14px; line-height:18px; }
.product_price { margin:0px 0px 15px 0px; padding:0px; font-size:20px; line-height:20px; }
.product_spec { margin:60px 0px; padding:0px; overflow:auto; }
.product_spec_image { display:block; width:auto; margin:20px 30px 40px 30px; float:none; }
.product_spec_content { display:block; width:auto; margin:0px 0px; float:none; overflow:auto; }
.product_spec_brand { margin:10px 30px 10px 30px; padding:0px; font-size:24px; line-height:30px; text-align:center; }
.product_spec_title { margin:0px 30px 32px 30px; padding:0px; font-size:24px; line-height:32px; text-align:center; }
.product_spec_description { margin:0px 30px 20px 30px; }
.product_spec_description h5 { margin:0px 0px 5px 0px; }
.product_spec_attribute { margin:0px 30px 20px 30px; }
.product_spec_cart { display:block; width:auto; margin:30px 20px 0px 20px; padding:30px 0px 0px 0px; text-align:center; border-top:1px solid var(--rn-line); }
.product_spec_cart .winedirect_addtocart { max-width:300px; margin:0px auto; text-align:center; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-price { margin:0px 20px 20px 20px; font-size:30px; line-height:30px; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-quantity { text-align:center; }
.product_spec_cart .winedirect_addtocart .v65-widgetProduct-addToCart-outOfStockMessage { margin:0px 20px; }
.product_spec_cart .winedirect_addcase { max-width:300px; margin:5px auto 0px auto; }

/* CTA */
.cta_join { width:auto; margin:0px 30px 45px 30px; padding:0px 0px 30px 0px; }

/* WineDirect Cart */
/* .winedirect_cart { display:inline-block; height:40px; margin:0px; padding:0px; position:absolute; left:15px; right:10px; top:50%; transform:translateY(-50%); } */
.v65-widgetModalCart { width:100%; max-width:400px; }
.v65-widgetModalCart-status { padding:10px 0px; font-size:11px; line-height:20px; text-align:left; }
.v65-widgetModalCart-itemCount { font-size:14px; line-height:20px; text-decoration:none; }
.v65-widgetModalCart-subTotal { display:none; font-size:14px; line-height:20px; text-decoration:none; }
.v65-widgetModalCart-dropdown { top:40px; right:-10px; left:auto; }

/* WineDirect Account */
.v65-widgetLogin-yourAccount, .v65-widgetLogin-editProfile { height:11px; margin:12px 0px; padding:2px 10px 2px 15px; font-size:11px; line-height:11px; }
.v65-widgetLogin-login, .v65-widgetLogin-logout { height:11px; margin:12px 0px; padding:2px 15px 2px 10px; font-size:11px; line-height:11px; }

/* WineDirect AddToCart */
.winedirect_addtocart { width:100%; max-width:180px;}
.winedirect_addcase { width:100%; max-width:180px; font-size:13px; }
.winedirect_addtocart .v65-widgetProduct-addToCart-price { margin:0px 0px 20px 0px; padding:0px; font-size:20px; line-height:20px; }
.winedirect_addtocart .v65-widgetProduct-addToCart-quantity { display:block; width:auto; margin:0px; padding:0px; border-left:1px solid var(--rn-line); border-bottom:none; float:none; }
.winedirect_addtocart .v65-widgetProduct-addToCart-quantity input { width:80px!important; border-bottom:1px solid var(--rn-line); }
.winedirect_addtocart .v65-widgetProduct-addToCart-button {  display:block; width:auto; margin:0px; padding:0px; border-right:1px solid var(--rn-line); border-top:none; float:none; }
.winedirect_addtocart .add-to-cart { display:block; width:100%; margin:0px; padding:0px 0px; font-size:13px; letter-spacing:2px; }

/* Scroll */
.scroll_top { width:30px; height:40px; right:20px; }

/* WP Forms */
.footer_block .wpforms-field input[type="text"], .footer_block .wpforms-field input[type="email"] { max-width:300px!important; margin:0px auto!important; }

/* WD Forms */
.footer_block .v65-widgetForm input[type="text"], .footer_block .v65-widgetForm input[type="email"] { margin:0px auto 10px auto!important; }
.footer_block .v65-widgetForm input[type="email"] { margin:0px auto 0px auto!important; }

/* Team */
.team { justify-content:space-around; margin:60px 10px 0px 10px; }
.team_block { flex-basis:45%; flex-grow:0; margin:0px 0px 60px 0px; }
.team_intro { margin:20px 15px 0px 15px; min-height:0px; padding:0px 0px 40px 0px; font-size:16px; line-height:22px; letter-spacing:1px; }
.team_intro strong { font-size:14px; font-weight:400; letter-spacing:0.5px; }
.team_intro h3 { font-size:22px; line-height:30px; letter-spacing:-0.005em; }
.team_link {  }
.team_link a:link, .team_link a:visited { width:100%; padding:15px 0px; font-size:15px; line-height:20px;  }
.team_link a:hover, .team_link a:active { width:100%; padding:15px 0px; font-size:15px; line-height:20px;  }
.team_bio_image { }
.team_bio_intro h1 { font-size:23px; line-height:31px; }
.team_bio_text { margin:0px 10px; }

/* Locator */
.locator_map { }
.locator_map .map { }
.locator_map .map_info { }
.locator_map .map_filter { margin:30px auto; padding:0px; }
.locator_map .map_filter input[type=text] { width:280px; min-width:0px; margin:0px auto 10px auto; clear:both; }
.locator_map .map_filter select { min-width:300px; margin:0px auto 10px auto; clear:both; }
.locator_map .map_filter input[type=submit] { width:300px; margin:0px auto; }
.locator_map .map_filter input[type=submit]:hover { }
.locator_map .map_list { margin:0px 0px 90px 0px; padding:0px; }
.locator_map .map_list_block { width:100%; border-radius:8px; box-shadow:0px 0px 4px var(--rn-line); }
.locator_map .map_list_title { display:block; margin:15px 20px 5px 20px; text-align:left; float:none; font-size:15px; line-height:20px; }
.locator_map .map_list_distance { display:block; margin:0px 20px 15px 20px; text-align:left; float:none; font-size:15px; line-height:20px; }
.locator_map .map_list_address { display:block; margin:0px 20px 5px 20px; text-align:left; float:none; font-size:15px; line-height:20px; }
.locator_map .map_list_address br { display:inline; }
.locator_map .map_list_type { display:block; margin:-10px 20px 5px 20px; text-align:left; float:none; font-size:15px; line-height:20px; }

/* Blog */
.blog_archive { margin:30px 0px 30px 0px; padding:0px; }
.blog_archive_block { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-around; align-items:flex-start; margin:0px 30px; padding:45px 0px; }
.blog_archive_image { flex-basis:100%; margin:0px 0px 20px 0px; padding:0px 0px 60% 0px; }
.blog_archive_text { flex-basis:100%; margin:0px; padding:0px 0px; }
.blog_archive_category { margin:0px 0px 10px 0px; padding:0px; }
.blog_archive_title { margin:0px 0px 15px 0px; padding:0px; font-size:22px; line-height:30px; }
.blog_archive_title h2 { margin:0px; padding:0px; font-size:22px; line-height:30px; }
.blog_topic { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-around; align-items:flex-start; margin:0px 30px; padding:45px 0px; }
.blog_topic_block { display:block; flex-basis:100%; margin:40px 0px 0px 0px; padding:0px; position:relative; }
.blog_topic_image { margin:0px; padding:0px 0px 60% 0px; }
.blog_topic_text { margin:0px; padding:20px 0px 50px 0px; text-align:left; }
.blog_topic_category { margin:0px 0px 10px 0px; padding:0px; }
.blog_topic_title { margin:0px 0px 15px 0px; }
.blog_category { margin:60px 30px 10px 30px; }
.blog_date { margin:0px 30px 30px 30px; }

/* Partners */
.partner_section { width:100%; margin:45px auto 45px auto; }
.partners { margin:0px 0px 45px 0px; justify-content:space-evenly; }
.partner_block { flex-basis:45%; margin:0px 0px 30px 0px; }

/* Press */
.press_section { width:100%; margin:45px auto 45px auto; }
.press { margin:0px 0px 45px 0px; justify-content:space-evenly; }
.press_block { flex-basis:45%; margin:0px 0px 30px 0px; }

/* Trade */
.trade_title { margin:0px; padding:0px; font-size:20px; line-height:30px;}
.trade_link { margin:0px 0px 10px 10px; }

/* Club */
.club_intro { width:90%; }
.club_intro h2 { font-size:24px; line-height:32px; }
.club_options { margin:45px 0px; }
.club_option_block { flex-basis:90%; margin:0px 0px 45px 0px; }
.club_option_title { margin:36px 30px 0px 30px; padding:0px; font-size:22px; line-height:30px; }
.club_option_text ul li { display:inline-block; margin:0px; padding:25px 20px; position:relative; }
.club_option_text ul li:after { width:100%; }
.club_option_link { margin:0px 0px 30px 0px; padding:4px 0px; text-align:center; overflow:auto; }
.club_option_link a:link, .club_option_link a:visited { padding:15px 30px; }
.club_option_link a:hover, .club_option_link a:active { padding:15px 30px; }

/* Events */
.events { min-height:800px; margin:60px 0px 0px 0px; padding:0px; overflow:auto; }
.event_block { 
  margin:0px 30px 60px 30px; 
  padding:0px; 
  border-radius:8px; 
  background:#FFF; 
  box-shadow:0px 0px 4px var(--rn-line); 
  overflow:auto; 
  position:relative; 
}
.event_block.bridge-lane { background:var(--rn-green-extra-light); }
.event_text { display:block; width:auto; padding:30px 20px; float:none; }
.event_attribute { margin:15px 0px 0px 0px; }
.event_link { margin:15px 0px 0px 0px; }
.event_link a:link, .event_link a:visited { margin:10px 20px 0px 0px; }
.event_link a:hover, .event_link a:active { margin:10px 20px 0px 0px; }
.event_spec { margin:60px 0px 45px 0px; padding:0px; overflow:auto; }
.event_spec_image { display:block; width:auto; margin:0px 30px; float:none; }
.event_spec_image img { max-height:800px; width:auto; margin:0px auto; border-radius:8px; }
.event_spec_content { display:block; width:auto; margin:30px 30px 0px 30px; float:none; }
.event_spec_title { margin:0px 10px 20px 10px; padding:0px; text-align:left; }
.event_spec_title h1 { margin:0px; font-size:24px; line-height:32px; letter-spacing:-0.005em; }
.event_spec_description { margin:0px 10px 20px 10px; }
.event_spec_attribute { margin:0px 10px 15px 10px; }
.event_return a:link, .event_return a:visited { padding:15px 30px; }
.event_return a:hover, .event_return a:active { padding:15px 30px; }

/* Private Parties */
.parties_providers ul li { flex-basis:42%; margin:10px 1%; padding:15px 3%; font-size:16px; line-height:25px; }

/* Tastings */
.tastings_form { width:90%; }
.tastings_form .wpforms-field { width:100%!important; padding:0px 0px 30px 0px!important; }
.tastings_form .wpforms-one-half { margin-left:0!important; }
.tastings_form .form_limo label { display:block!important; width:auto!important; padding:0px 0px 15px 0px!important; float:none!important; }
.tastings_form .form_limo ul { display:block!important; width:300px!important; float:none!important; }
.tastings_form .form_blockbox ul li label { min-height:0px; padding:30px 0px!important;}
.tastings_form .form_blockbox ul li div { position:relative; top:auto; left:auto; transform:none; margin:0px auto; }

/* Fancybox */
.fancybox-content { width:720px!important; max-width:100%!important; height:90%!important; }

}

@media screen and (max-width : 480px) {

/* Partners */
.partner_block { flex-basis:90%; }

/* Press */
.press_block { flex-basis:90%; }

/* Private Parties */
.parties_providers ul li { flex-basis:90%; margin:10px auto; padding:15px; }

}

/* Bastiaan Tweaks */

.post_text a {
  text-decoration: underline;
}

.button-bastiaan {
  margin-top: 30px;
  /* Sit below any floated photo rather than centring inside whatever gap the
     float leaves -- otherwise two stacked buttons centre on different axes. */
  clear: both;
}

.button-bastiaan a {
  display: inline-block;
  margin: 0px auto;
  padding: 20px 35px;
  text-decoration: none;
  border-radius: 4px;
  background: var(--rn-copy);
  color: #ffffff;
  font-size: 16px;
  line-height: 20px;
  font-family: var(--rn-font-display);
  text-transform: none;
  letter-spacing:1px;
  transition: all 0.15s;
  box-shadow: 0px 0px 4px var(--rn-line);
}

/* /////////////////////////////////////////////////// */
/* // Members Page // */
/* /////////////////////////////////////////////////// */

.members .feature_text h1 {
  margin-bottom: 0;
}

.members-logo-container {
  margin-bottom: 1rem;
  display: inline-block;
}

.members-logo {
  width: 400px;
}

.members-blocks {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem; /* 4px */
  margin-top: 2rem;
  padding: 0 2rem 2rem;
}

.members-block {
  grid-column: span 1 / span 1;
  position: relative;
  border-radius: 8px;
  background: #FFF;
  box-shadow: 0px 0px 4px var(--rn-line);
  padding: 7px 2rem 2rem;

}

.members-block--text {
  color: var(--rn-copy);
  font-size: 18px;
  line-height: 28px;
  text-align: left;
  letter-spacing: 1px;
}

.members-block--text a {
  text-decoration: underline;
}

@media screen and (min-width : 1024px) {
  .members-blocks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .members-block--2 {
    grid-column: span 2 / span 2;
  }
}

.members-block {
    padding: 20px;
    background-color: var(--rn-wash);
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.members-block h2 {
  text-align: left;
  margin: 0;
  font-size: 30px;
}


.members-page-content {
  margin-top: 1rem;
}

@media screen and (min-width : 1024px) {
  .members-block h2 {
    font-size: 40px;
  }
}

/* /////////////////////////////////// */
/* // Events // */
/* /////////////////////////////////// */

.events-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    flex-direction: column;
    margin-top: 1rem;
}

@media screen and (min-width : 1024px) {
  .events-wrapper {
    margin-top: 2rem;
  }
}

.event-item {
    background-color: #ffffff;
    border: 1px solid var(--rn-line);
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.event-item .featured-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.event-content {
  padding: 24px 16px;
}

h3.event-title {
    font-size: 26px !important;
    line-height: 1.1;
    margin: 0;
}

h3.blog-title {
    font-size: 26px !important;
    line-height: 1.1;
    margin: 0;
}

.event-date {
  margin: 1rem 0 0;
  line-height: 1.4;
}

.blog-date {
  margin: 0 0 0.5rem;
  line-height: 1.4;
}

.members-empty-list {
  margin-top: 1rem;
  text-align: left;
}


@media screen and (min-width : 1024px) {
  .event-item {
    flex-direction: row;
  }

  .event-content {
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .event-item .featured-image {
    width: 30%;
  }
}

.member-wines {
  display: flex;
  margin-top: 1rem;
}

.swiper-wrapper {
  padding-bottom: 3rem;
}

.member-wines__title {
  font-size: 20px;
  margin-top: 0.5rem;
  font-family: var(--rn-font-display);
}

.member-wines__price {
  margin-top: 0.5rem;
}

.members .product-image {
  padding: 0 2rem;
}

@media screen and (min-width : 1024px) {
  .members .product-image {
    padding: 0 3rem;
  }
}

:root {
  --swiper-navigation-color: var(--rn-copy);
  --swiper-navigation-size: 20px !important;
  --swiper-pagination-color: var(--rn-copy);
  --swiper-navigation-sides-offset: 0px;
}

@media screen and (min-width : 1024px) {
  :root {
    --swiper-navigation-size: 40px !important;
  }
}

.aligncenter {
  display: block;
}

.wp-block-heading.has-background {
  border-radius: 8px;
}

.has-background a {
  color: #ffffff !important;
}

@media screen and (min-width : 1024px) {
  .alignright {
    margin-left: 2rem !important;
  }
  .alignleft {
    margin-right: 2rem !important;
  }
}

:root {
  --wp--preset--font-size--medium: 16px !important;
}

.footer .v65-widgetForm br {
  display: none;
}
.footer .v65-widgetForm .defaultBtn {
  margin-top: 0.5rem !important;
}

.notification-banner {
  /* height: 50px; */
  width: 100%;
  z-index: 50;
  background: var(--rn-copy);
  height: 84px;
  position: absolute;
  top: 80px;

  color: #fff;
  display: flex;

  align-items: center;
  justify-content: center;

  flex-direction: column;
  padding: 0.75rem 1rem;
}

.notification-banner--home {
  top: 234px;
}


body.sticky .notification-banner {
  position: fixed;
  /* z-index: 999; */
}

@media screen and (min-width: 768px) {
  .notification-banner {
    height: 50px;
    flex-direction: row;
    padding: 0;
    top: 120px;
  }

  .notification-banner--home {
    top: 275px;
  }
}

.notification-banner p {
  margin: 0;

  padding: 0;
  font-size: 14px;
}

a.notification-banner__link {
  color: var(--rn-copy);
  background-color: #fff;
  padding: 5px 10px;
  border-radius: 3px;
  text-decoration: none;
  font-size: 12px;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  /* text-transform: uppercase; */
}

@media screen and (min-width: 768px) {
  a.notification-banner__link {
    margin-left: 1rem;
    margin-top: 0;
  }
}

a.notification-banner__link svg {
  margin-left: 0.5rem;
  font-size: 10px;
}

/* Custom Gallery Styles - Complete Override */

/* Reset default WordPress gallery styles */
.gallery,
.wp-block-gallery,
.gallery-item,
.wp-block-image {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Main gallery container */
.gallery,
.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 20px !important;
  margin: 30px 0 !important;
  padding: 0 !important;
}

/* Gallery items */
.gallery-item,
.wp-block-image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  background: #fff !important;
}

/* Gallery images */
.gallery-item img,
.wp-block-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 7/6 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 8px 8px 0 0 !important;
}

/* Gallery captions */
.gallery-caption,
.wp-element-caption {
  padding: 15px 20px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--rn-ink-muted) !important;
  background: #fff !important;
  border-radius: 0 0 8px 8px !important;
  text-align: center !important;
}

/* Gallery links */
.gallery-item a,
.wp-block-image a {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Responsive breakpoints */
@media screen and (max-width: 768px) {
  .gallery,
  .wp-block-gallery {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 15px !important;
    margin: 20px 0 !important;
  }
  

  
  .gallery-caption,
  .wp-element-caption {
    padding: 12px 15px !important;
    font-size: 13px !important;
  }
}

@media screen and (max-width: 480px) {
  .gallery,
  .wp-block-gallery {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  

}

/* Specific gallery columns (if you want to support column attributes) */
.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

/* Mobile responsive for specific columns */
@media screen and (max-width: 768px) {
  .gallery-columns-2,
  .gallery-columns-3,
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 480px) {
  .gallery-columns-2,
  .gallery-columns-3,
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6 {
    grid-template-columns: 1fr !important;
  }
}

/* Lightbox integration (if using Fancybox) */
.gallery-item a[data-fancybox],
.wp-block-image a[data-fancybox] {
  cursor: zoom-in !important;
}



/* Accessibility improvements */
.gallery-item:focus-within,
.wp-block-image:focus-within {
  outline: 2px solid var(--rn-green-dark) !important;
  outline-offset: 2px !important;
}

/* Remove any default WordPress gallery styling */
.gallery br,
.wp-block-gallery br {
  display: none !important;
}

/* Override any existing gallery styles */
.post_text .gallery,
.post_text .wp-block-gallery {
  display: grid !important;
  flex-direction: unset !important;
  justify-content: unset !important;
}

.post_text .gallery .wp-block-image img,
.post_text .wp-block-gallery .wp-block-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 7/6  !important;
  margin: 0 !important;
  object-fit: cover !important;
}


/* ------------------------------------------------------------ */
/* Commerce7 */
/* ------------------------------------------------------------ */

:root {
  /* --c7-page-width: ; */
  /* --c7-page-width-checkout: ; */
  /* --c7-font-family: ; */
  /* --c7-body-text-color: ; */
  /* --c7-alt-text-color: ; */
  /* --c7-font-size: ; */
  /* --c7-font-size-sub: ; */
  --c7-heading-font-family: var(--rn-font-display);
  /* --c7-heading-text-color: #fff; */
  --c7-heading-font-weight: 400;

  --c7-primary-color: var(--rn-green-dark);
  /* --c7-primary-color-text: ; */
  /* --c7-primary-color-dark: ; */
  /* --c7-primary-color-focus: ; */
  
  /* --c7-link-color: ; */
  /* --c7-bg: ; */
  /* --c7-bg-alt: ; */
  /* --c7-border-color: ; */
  /* --c7-border-radius: ; */
  
  /* --c7-loading-bg: ; */
  /* --c7-modal-border-radius: ; */
  /* --c7-modal-shadow: ; */
  /* --c7-overlay-bg: ; */
  /* --c7-progress-bar: ; */
  /* --c7-pill-bg: ; */
  /* --c7-pill-text-color: ; */

  /* --c7-field-bg: ; */
  --c7-field-border-radius: 3px;
  --c7-field-border-color: var(--rn-line);
  /* --c7-field-focus-color: ; */
  /* --c7-field-option-selected-color: ; */
  /* --c7-field-option-focus-color: ; */
  /* --c7-field-placeholder: ; */

  --c7-primary-button-bg: #fff;
  --c7-primary-button-bg-hover: var(--rn-copy);
  --c7-primary-button-text-color: var(--rn-copy);
  /* --c7-alt-button-bg: ; */
  /* --c7-alt-button-bg-hover: ; */
  /* --c7-alt-button-text-color: ; */
  --c7-button-border-radius: 3px;
  
  /* --c7-info-bg: ; */
  /* --c7-error: ; */ 
  /* --c7-error-bg: ; */
  /* --c7-warning: ; */
  /* --c7-warning-bg: ; */
  /* --c7-success: ; */
  /* --c7-success-bg: ; */

  --c7-header-text-color: var(--rn-copy);
  /* --c7-notification: ; */
  /* --c7-cart-count-bg: ; */
  /* --c7-cart-count-bg-focus: ; */
  /* --c7-cart-count-text-color: ; */
  /* --c7-side-cart-shadow: ; */
  /* --c7-dropdown-border-radius: ; */
  /* --c7-dropdown-shadow: ; */   
  /* --c7-dropdown-hover: ; */

  /* --c7-block-bg: ; */
  /* --c7-block-border-color: ; */
  /* --c7-block-border-radius: ; */
  /* --c7-block-shadow: ; */
}

a.c7-btn {
  color: var(--rn-copy);
}

a.c7-btn--alt {
  color: var(--rn-copy);
}

a.c7-btn--alt {
}

a.c7-link,
button.c7-link {
  color: var(--rn-green-dark);
}

a.c7-link:hover,
button.c7-link:hover {
  color: var(--rn-green-dark);
}

a.c7-link:active,
button.c7-link:active {
  color: var(--rn-green-dark);
}

.c7-product__title{
  font-family: var(--rn-font-display) !important;
}


.c7-product-collection__product-list, .c7-product-allocation__product-list, .c7-related-products__product-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: stretch;
  margin: 0px 0px 90px 0px;
  min-height: 300px;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

.page-template-page-shop .c7-product__add-to-cart__form,
.page-template-page-members .c7-product__add-to-cart__form,
.c7-related-products__product-list .c7-product__add-to-cart__form {
  justify-content: center;
}

.product_title a {
  color: var(--rn-copy);
}

.c7-user-nav__account__dropdown {
  left: 0;
}

.c7-user-nav__account__dropdown a {
  color: var(--rn-copy) !important;
}

a.c7-user-nav__account__dropdown__logout {
  padding: 7px 10px !important;
  width: 100%;
}

/* On desktop the account link sits top left and the cart top right, straight
   on the light header with no bar behind them. They scroll away with the header
   and pin with it when body.sticky is set. On mobile the hamburger owns the top
   right, so both sit top left: cart, then the account icon. */
.header-c7-cart,
.header-c7-account {
  position: absolute;
  top: 0;
  z-index: 9999999;
  height: 80px;
  display: flex;
  align-items: center;
}

.header-c7-cart {
  left: 15px;
}

/* One below the cart, so the open side cart covers it. */
.header-c7-account {
  left: 62px;
  z-index: 9999998;
}

/* The home mobile header puts the hamburger in its own 40px row. */
.body-home .header-c7-cart,
.body-home .header-c7-account {
  height: 40px;
}

body.sticky .header-c7-cart,
body.sticky .header-c7-account {
  position: fixed;
}

.page-id-10856 .header-c7-cart,
.page-id-10856 .header-c7-account {
  z-index: 1;
}

.c7-user-nav__cart__title svg {
  stroke: var(--rn-copy);
}

/* Commerce7 sets the count in bold (700); Univers Next's bold in the kit is 600. */
.c7-user-nav__cart__count {
  font-weight: 600;
}

.header-c7-account a,
.header-c7-account button {
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--rn-copy);
  text-decoration: none;
}

/* Mobile: the text link would run into the centred logo, so show an icon
   and keep the text for screen readers. */
@media screen and (max-width: 768px) {
  .header-c7-account .c7-user-nav__account {
    padding-right: 0;
  }

  .header-c7-account .c7-user-nav__account > a {
    display: flex;
    align-items: center;
    padding: 10px 6px;
    font-size: 0;
    letter-spacing: 0;
  }

  .header-c7-account .c7-user-nav__account > a::before {
    font: var(--fa-font-light);
    font-size: 19px;
    content: '\f007';
  }

  .header-c7-account .c7-user-nav__account__name svg {
    display: none;
  }
}

/* Smallest phones: shrink the centred logo so it clears the cart and account. */
@media screen and (max-width: 359px) {
  .header_mobile .header_logo {
    height: 38px;
  }
}

@media screen and (min-width: 769px) {
  .header-c7-cart,
  .header-c7-account,
  .body-home .header-c7-cart,
  .body-home .header-c7-account {
    height: 50px;
  }

  .header-c7-cart {
    left: auto;
    right: 15px;
  }

  .header-c7-account {
    left: 15px;
  }

  .header-c7-account .c7-user-nav__account {
    padding-right: 0;
  }

  .header-c7-account .c7-user-nav__account__dropdown {
    left: 0;
    right: auto;
  }
}

.c7-product__add-to-cart__giftcard .c7-form__field {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.c7-subscribe .c7-form__group{
  display: flex;
  flex-direction: column;
  /* align-items: center; */
}

.c7-subscribe .c7-form__group .c7-form__field + button {
  margin: 0;
}

.c7-subscribe .c7-form__group .c7-form__field:not(:last-of-type) {
  margin-right: 0;
}

.c7-btn {
  padding: 10px 20px;
  border: 1px solid transparent;
}

.c7-btn--primary {
  font-family: var(--rn-font-display) !important;
  border: 1px solid var(--rn-line);
}

.c7-btn--primary:hover,
.c7-btn--primary:active,
.c7-btn--primary:focus {
  color: #fff;
}


#sb_instagram .sb_instagram_header, .sb_instagram_header {
  display: none;
}

#sbi_images {
  padding: 0 !important;
}