/* ============================================================
   ////  KoboStyles  ////  
   Author: KOBO / .LifeThink 
   ============================================================ */
 
:root {
	--kobo_color_black: #35352f;
	--kobo_color_accent: #5e5b5b;  
	--kobo_color_bg: #f5f1e8; 
	--kobo_font_body: "Manrope", sans-serif;
	--kobo_font_heading: "Bodoni Moda", serif;
	--kobo_font_weight: 500;
	--kobo_font_size_body: 18px;
	--kobo_font_size_btn: 12px;
	--kobo_font_title_sz: 42px; 
	--kobo_slider_height: 100vh !important;
	
	--vine-bg:#f5f1e8;
	--vine-bg-dark:#25251f;
	--vine-wine:#722f37;
	--vine-green:#4f5942;
	--vine-gold:#a78c5b;
	--vine-text:#35352f;
	--vine-light:#fffdf8;
	
}
/* body.has-overlay-header {
	--kobo_slider_height: 100vh !important;
	--kobo_slider_height: calc(100vh - 142px) !important;
} */
  

/* ============================================================
	  Dev
	  ============================================================ */

.koboDev {
	background: #fffae6;
	border: 1px dashed #d4aa00;
	color: #665500;
	font-family: monospace;
	font-size: 13px;
	padding: 6px 10px;
	margin: 15px 0;
	border-radius: 6px;
	opacity: 0.8;
	text-align: center;
}
.koboDevRed {
	background: #ffecec;
	border: 1px dashed #cc0000;
	color: #660000;
	font-family: monospace;
	font-size: 13px;
	padding: 6px 10px;
	margin: 15px 0;
	border-radius: 6px;
	opacity: 0.9;
	text-align: center;
}
.pdEditThis {
	display: none;
	position: fixed;
	top: 200px;
	background: red;
	left: -42px;
	padding: 5px 20px;
	font-weight: bold;
	z-index: 10000;
	transform: rotate(90deg);
}
.pdEditThis a {
	color: #FFF;
	text-decoration: none !important;
}
.logged-in .pdEditThis {
	display: block !important;
}
.koboClear {
	clear: both;
}
.koboClear5 {
	clear: both;
	padding: 5px;
}
.koboClear10 {
	clear: both;
	padding: 10px;
}
.koboClear15 {
	clear: both;
	padding: 15px;
}
.koboClear20 {
	clear: both;
	padding: 20px;
}
.no-results {
	text-align: center;
}
/* ============================================================
  TOP
  ============================================================ */
.kobotop {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 5px;
}
.kobobook a {
	color: var(--kobo_color_black);
	text-decoration: none !important;
	/* text-transform: uppercase; */
	padding: 0;
	font-weight: 400;
	font-size: var(--kobo_font_size_btn);
	padding: 10px 20px;
	background: transparent;
	border: 1px solid var(--kobo_color_black);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.hasnt-overlay-header .kobobook a,
.is-sticky .kobobook a {
	color: var(--kobo_color_black) !important;
	border: 1px solid var(--kobo_color_black) !important;
}
.has-overlay-header .kobobook a {
	color: #FFF;
	border: 1px solid #FFF;
}
.koboclub {
	margin-right: 20px;
}
.koboclub a {
	color: var(--kobo_color_black);
	text-decoration: none !important;
	text-transform: uppercase;
	padding: 0;
	font-weight: 400;
	font-size: var(--kobo_font_size_btn);
	padding: 3px 0;
	letter-spacing: .12em;
	border-bottom: 1px solid;
}
.has-overlay-header .koboclub a {
	color: #FFF;
}
.is-sticky .koboclub a {
	color: var(--kobo_color_black);
}
.kobotopleft {
	position: absolute;
	left: 60px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 5px;
}
.kobotopgroup {
	width: 77px;
}
.kobotopgroup img {
	width: 100%;
	user-select: none;
	-webkit-user-drag: none;
	user-drag: none;
	filter: none;
}
.has-overlay-header .kobotopgroup img {
	filter: brightness(0) invert(1);
}
.is-sticky .kobotopgroup img {
	filter: none;
}
.koboportal .kobotopgroup {
	display: none;
}

/* ==========================================================
   FINAL CSS — New Namespace: koboslider_
========================================================== */
.homeslider {
	position: relative;
	height: var(--kobo_slider_height);
	margin: 0 auto;
	overflow: hidden;
}
#koboslider_slider {
	height: 100%;
}
#koboslider_slider ul {
	margin: 0;
}
.koboslider_video {
	object-fit: cover !important;
	width: 100%;
	height: 100vh;
}

#koboslider_video_container {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

#koboslider_controls {
	width: fit-content;
	position: absolute;
	bottom: 30px;
	right: 30px;
	z-index: 1000;
}

.koboslider_btn_icon {
	width: 40px;
	height: 40px;
	float: left;
	padding: 5px;
	border-radius: 50%;
}

.koboslider_title_meta {
	position: absolute;
	top: 50%;
	transform: translateY(-50%) !important;
	z-index: 10;
	max-width: 700px;
	padding: 0 20px;
	width: fit-content;
}

.koboslider_title_meta.align-center {
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}

.koboslider_title_meta.align-left {
	left: 10%;
	right: unset;
	margin: 0;
	text-align: left;
}

.koboslider_title_meta.align-right {
	right: 10%;
	left: unset;
	margin: 0;
	text-align: right;
}

.koboslider_title_meta.align-topcenter {
	top: 18%;
	left: 0;
	right: 0;
	transform: none;
	margin: 0 auto;
	text-align: center;
}

.koboslider_title_meta.align-bottomcenter {
	top: auto;
	bottom: 18%;
	left: 0;
	right: 0;
	transform: none;
	margin: 0 auto;
	text-align: center;
}
.koboslider_title_meta.align-bottomleft {
	top: auto;
	bottom: 80px;
	left: 80px;
	right: unset;
	transform: none;
	margin: 0 auto;
	text-align: left;
}

.koboslider_title {
	font-size: var(--kobo_font_title_sz);
	font-family: var(--kobo_font_heading);
	font-weight: var(--kobo_font_weight);
	line-height: 1.2;
	margin-bottom: 10px;
	color: #FFF;
}

.koboslider_sub {
	color: #FFF;
	font-size: 16px;
}
.koboslider_btn {
	margin: 35px 0 0;
}
.koboslider_btn a {
	color: #FFF;
	border: 1px solid #FFF;
	padding: 10px 30px;
	text-decoration: none !important;
}
.koboslider_item {
	height: var(--kobo_slider_height);
}
.koboslider_bg {
	height: 100%;
	width: 100%;
	background-size: cover !important;
	background-position: center !important;
}
#koboslider_slider .flex-direction-nav a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 50;
	font-size: 30px;
	color: #FFF;
	text-decoration: none !important;
	/* background: #000000;*/
}
#koboslider_slider .flex-direction-nav .flex-prev {
	left: 20px;
}
#koboslider_slider .flex-direction-nav .flex-next {
	right: 20px;
}
#koboslider_slider.kobonarrw1 .flex-direction-nav {
	display: none !important;
}


/* ============================================================
  MISC ELEM
  ============================================================ */
*,
html {
	scroll-behavior: smooth !important;
}
#book {
	scroll-margin-top: 120px;
	overflow: initial !important;
}
.sr-only {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	color: #000;
	overflow: hidden;
}
.scrollD {
	position: absolute;
	right: 0;
	left: 0;
	text-align: center;
	font-size: 10px;
	color: #FFF;
	z-index: 10;
	bottom: 10px;
}
.scrollDb {
	height: 20px;
	width: 1px;
	background: #FFF;
	margin: 0 auto;
}
.scrollD span {
	/* background: #0000004a; */
	padding: 1px 7px;
}
.copyrights {
	font-size: var(--kobo_font_size_btn);
	font-weight: 400;
	color: #FFF !important;
}
.copyrights a {
	color: #FFF !important;
}
.fancybox-caption {
	display: none !important;
}
.grecaptcha-badge {
	display: none !important;
}
.is-sticky #site-header-inner {
	padding-top: 10px;
	padding-bottom: 10px;
}
.is-sticky #site-logo img {
	max-width: 100px;
}
.kobohrsrow_noresults {
	text-align: center;
	font-style: italic;
}
.koboawa{
	position: absolute;
	bottom: 40px;
	left: 40px;
	z-index: 10;
}
.koboawa img{
	max-width: 180px;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	pointer-events: none;
}

/* ============================================================
	  BURGER MENU
	  ============================================================ */
	 
.is-sticky #mobile-menu, 
#mobile-menu{
	display: none !important;
}	  

#mobile-menu a {
	display: flex;
	gap: 20px;
	align-items: center;
}
.kobomenunav {
	width: 35px;
	height: 2px;
	background: #FFF;
}
.kobomenunavb {
	width: 35px;
	height: 2px;
	background: #FFF;
	margin: 7px 0;
}
.kobomenunavc {
	width: 35px;
	height: 2px;
	background: #FFF;
}
.kobomenunavcT {
	/* margin-top: 2px; */
	color: #FFF;
	font-size: 15px;
	letter-spacing: 1px;
	line-height: 1;
}
.hasnt-overlay-header .kobomenunav,
.hasnt-overlay-header .kobomenunavb,
.hasnt-overlay-header .kobomenunavc {
	background: var(--kobo_color_black);
}
.is-sticky .kobomenunav,
.is-sticky .kobomenunavb,
.is-sticky .kobomenunavc {
	background: var(--kobo_color_black);
}
.kobomenunavc,
.kobomenunavb {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
}
/* #mobile-menu a:hover .kobomenunavb {
	width: 35px;
	background: var(--kobo_color_black);
}
#mobile-menu a:hover .kobomenunavc {
	width: 30px;
} */
.is-sticky .kobomenunavcT,
.hasnt-overlay-header .kobomenunavcT {
	color: var(--kobo_color_black);
}
.kobomobmenu {
	/* position: absolute;
	right: 30px;
	bottom: 30px;
	display: flex;
	gap: 20px;
	align-items: center; */
}
.kobo-club-bm {
	color: var(--kobo_color_black);
	text-decoration: none !important;
	text-transform: uppercase;
	padding: 0;
	font-weight: 400;
	font-size: 13px;
	padding: 3px 0;
	letter-spacing: .12em;
	border-bottom: 1px solid;
}
.kobo-book-bm {
	color: var(--kobo_color_black);
	text-decoration: none !important;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 13px;
	padding: 10px 20px;
	background: transparent;
	border: 1px solid !important;
	letter-spacing: .12em;
}
.kobomobmsoc {}
.kobomobmsocTitle {
	font-family: var(--kobo_font_heading);
	font-weight: var(--kobo_font_weight);
	font-size: 18px;
	margin: 0 0 10px;
}
.kobomobmsocR {
	font-size: 16px !important;
	line-height: 26px !important;
}
.koboespa {
	position: absolute;
	bottom: 10px;
	left: 10px;
	z-index: 1000;
	max-width: 300px;
}

.koboespa img {
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	display: block;
}

/* close button */
.koboespaClose {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 22px;
	height: 22px;
	background: #000;
	color: #fff;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	border-radius: 50%;
	cursor: pointer;
	font-weight: bold;
}
#kobo-manage-consent {
	position: fixed;
	left: unset !important;
	right: 16px;
}
.kobomobmenubg {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center !important;
	width: 100%;
	height: 100vh;
	position: revert;
}
.kobomobmenubgL {
	position: absolute;
	bottom: 100px;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0 auto;
}
.kobomobmenubgL img {
	max-width: 150px;
	margin: 0 auto;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}
.kobomobmenudat {
	position: absolute;
	left: -220px;
	bottom: 30px;
	display: flex;
	gap: 20px;
	align-items: center;
}
.kobomobmenudatSocial {
	display: flex;
	gap: 20px;
}
/* ============================================================
  BUTTONS
   ============================================================ */

.koboBtn {
	background: transparent;
	color: var(--kobo_color_black);
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	position: relative;

	text-transform: uppercase;
	text-decoration: none !important;
	font-size: var(--kobo_font_size_btn);
	letter-spacing: 1px;
	font-weight: 500;

	transition: color .35s ease;
}

/* base subtle line */
.koboBtn::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.25rem;
	height: 1px;
	background: var(--kobo_color_accent);
	opacity: .5;
}

/* animated accent line */
.koboBtn::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.25rem;
	height: 2px;
	background: var(--kobo_color_accent, var(--kobo_color_black));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
}

.koboBtn:hover {
	color: var(--kobo_color_accent, var(--kobo_color_black)) !important;
}

.koboBtn:hover::after {
	transform: scaleX(1);
}

.koboBtnW {
	background: transparent;
	color: #FFF;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	position: relative;

	text-transform: uppercase;
	text-decoration: none !important;
	font-size: var(--kobo_font_size_btn);
	letter-spacing: 1px;
	font-weight: 500;

	transition: color .35s ease;
}

/* base subtle white line */
.koboBtnW::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.25rem;
	height: 1px;
	background: #FFF;
	opacity: .45;
}

/* animated white line */
.koboBtnW::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.25rem;
	height: 2px;
	background: #FFF;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
}

.koboBtnW:hover {
	color: #FFF !important;
}

.koboBtnW:hover::after {
	transform: scaleX(1);
}

.koboBtnB {
	--shine: rgba(255, 255, 255, .13);

	position: relative;
	isolation: isolate;
	/* IMPORTANT: keeps negative z-index inside */
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 7px 25px;
	border: 0;
	background: var(--kobo_color_black);
	color: #fff;

	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
	font-weight: 500;
	overflow: hidden;
	cursor: pointer;

	transition: color .45s ease;
}

/* layers go BEHIND the text */
.koboBtnB::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--kobo_color_bg), var(--kobo_color_accent));
	transform: translateX(-130%);
	transition: transform 1s cubic-bezier(.25, .46, .45, .94);
	z-index: -2;
}

.koboBtnB::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 -180%;
	width: 55%;
	background: linear-gradient(120deg, transparent 0%, var(--shine) 50%, transparent 100%);
	transform: skewX(-18deg);
	transition: left 1.2s cubic-bezier(.25, .46, .45, .94);
	z-index: -1;
}

/* hover */
.koboBtnB:hover::before {
	transform: translateX(0)
}
.koboBtnB:hover::after {
	left: 180%
}
.koboBtnB:hover {
	color: var(--kobo_color_black) !important;
	/* text visible on light gradient */
	text-decoration: none !important;
}



/* ============================================================
   Map
   ============================================================ */

#mapContact {
	width: 100%;
	height: 560px;
}
.maptitle {
	font-family: var(--kobo_font_heading);
	font-weight: var(--kobo_font_weight);
	font-size: 20px;
	margin: 0 0 5px;
	text-transform: uppercase;
}
.maplink a {
	color: var(--kobo_color_black);
	text-decoration: none !important;
	border-bottom: 1px solid var(--kobo_color_black);
	padding: 0 0 1px;
	font-size: 12px;
}
.gm-style-iw-chr {
	position: absolute;
	right: 0;
	max-width: 40px;
}
.gm-style .gm-style-iw-d {
	padding: 20px 10px 10px 8px;
}
/* ============================================================
  FOOTER
  ============================================================ */
.koboFooter {
	background: var(--kobo_color_ivory);
	padding: 100px 10px;
}
.koboFooterInner {
	width: min(1500px, 95%);
	margin: 0 auto;
	display: flex;
	gap: 20px;
}
.koboFooterInner>div:nth-child(1) {
	width: 20%;
}
.koboFooterInner>div:nth-child(2) {
	width: 25%;
}
.koboFooterInner>div:nth-child(3) {
	width: 20%;
}
.koboFooterInner>div:nth-child(4) {
	width: 10%;
}
.koboFooterInner>div:nth-child(5) {
	width: 25%;
}

.koboFooterS {
	padding: 0 10px;
}
.koboFooterSLogo {
	display: flex;
	align-items: center;
	justify-content: center;
}
.koboFooterSLogoI img {
	width: 150px;
	max-width: 90%;
}
.koboFooterSTitle {
	margin: 0 0 20px;
}
.koboFooterSTitle h4 {
	font-size: 16px;
	margin: 0;
}
.koboFooterSTitleBook h4 {
	font-size: 22px;
	line-height: 1.3;
	margin: 0;
	text-transform: uppercase;
}
.koboFooterSsmap ul {
	/* display: flex;
	flex-wrap: wrap;
	gap: 2px 14px; */
}
.koboFooterSsmap ul li {
	list-style-type: none;
}
.koboFooterSsmap ul li a {
	color: var(--kobo_color_black);
	text-transform: uppercase;
}
.koboFooterSsmap ul .sub-menu {
	display: none !important;
}
.koboFooterSlinks {
	margin: 20px 0 0;
	font-size: 13px;
}
.koboFooterSlinks ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
}
.koboFooterSlinks ul li {
	list-style-type: none;
}
.koboFooterSlinks ul li a {
	color: var(--kobo_color_black);
}
.koboFootData {
	padding: 0 0 4px;
}
.koboFooterSocial {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.kobofaSocial {
	font-size: 20px;
	padding: 0 0 10px;
}
.koboFoothname {
	margin: 0 0 5px;
	font-weight: bold;
	text-transform: uppercase;
}
.fmhtenumber {
	margin: 70px auto 0;
	max-width: 800px;
	font-size: var(--kobo_font_size_btn);
	text-align: center;
}

/* =====================================================
   THE VINE
===================================================== */

.vinePage{ 
	background:var(--vine-bg);
	color:var(--vine-text);
}

.vinePage,
.vinePage *{
	box-sizing:border-box;
}

.vineContainer{
	width:90%;
	max-width:1300px;
	margin:0 auto;
}

.vineSection{
	padding:130px 0;
}

.vineSubtitle{
	margin-bottom:20px;
	font-size:12px;
	line-height:1.4;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:2.5px;
	color:var(--vine-wine);
}

.vineTitle{
	max-width:750px;
	margin:0 0 30px;
	font-family:var(--kobo_font_heading, Georgia, serif);
	font-size:clamp(42px,5vw,72px);
	font-weight:400;
	line-height:1.02;
	color:var(--vine-text);
}

.vineText{
	max-width:650px;
	font-size:17px;
	line-height:1.8;
	color:rgba(53,53,47,.78);
}

.vineText p{
	margin:0 0 22px;
}

.vineText p:last-child{
	margin-bottom:0;
}

.vineTitleLight{
	color:var(--vine-light);
}

.vineSubtitleLight{
	color:rgba(255,255,255,.7);
}

.vineTextLight{
	color:rgba(255,255,255,.78);
}


/* =====================================================
   HERO
===================================================== */

.vineHero{
	position:relative;
	width:100%;
	min-height:100vh;
	overflow:hidden;
	background:#222;
}

.vineHeroContent{
	position:absolute;
	z-index:5;
	left:50%;
	top:50%;
	width:90%;
	max-width:1100px;
	transform:translate(-50%,-50%);
	text-align:center;
	color:#fff;
	pointer-events:none;
	
	display: none;
}

.vineHeroContent h1{
	margin:0;
	font-family:var(--kobo_font_heading, Georgia, serif);
	font-size:clamp(70px,11vw,160px);
	font-weight:400;
	line-height:.9;
	color:#fff;
}

.vineHeroSubtitle{
	margin-top:25px;
	font-size:13px;
	font-weight:500;
	line-height:1.4;
	letter-spacing:4px;
	text-transform:uppercase;
	color:rgba(255,255,255,.9);
}

.vineScroll{
	position:absolute;
	z-index:6;
	left:50%;
	bottom:40px;
	transform:translateX(-50%);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	color:#fff;
	text-decoration:none !important;
	font-size:10px;
	letter-spacing:2px;
	text-transform:uppercase;
}

.vineScroll i{
	position:relative;
	display:block;
	width:1px;
	height:45px;
	background:rgba(255,255,255,.4);
	overflow:hidden;
}

.vineScroll i:after{
	content:"";
	position:absolute;
	left:0;
	top:-100%;
	width:1px;
	height:100%;
	background:#fff;
	animation:vineScrollLine 2s infinite;
}

@keyframes vineScrollLine{
	0%{top:-100%;}
	100%{top:100%;}
}


/* =====================================================
   INTRO
===================================================== */

.vineIntro{
	background:var(--vine-bg);
}

.vineIntroGrid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10%;
	align-items:center;
}

.vineIntroImage{
	position:relative;
	height:700px;
	overflow:hidden;
}

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


/* =====================================================
   RESTAURANT
===================================================== */

.vineRestaurant{
	padding-top:80px;
	background:var(--vine-bg);
}

.vineRestaurantGrid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:10%;
	align-items:center;
}

.vineRestaurantImages{
	position:relative;
	min-height:760px;
}

.vineRestaurantImage{
	position:absolute;
	overflow:hidden;
}

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

.vineRestaurantImage1{
	left:0;
	top:0;
	width:70%;
	height:650px;
}

.vineRestaurantImage2{
	right:0;
	bottom:0;
	width:47%;
	height:390px;
	border:12px solid var(--vine-bg);
}

.vineRestaurantContent{
	padding:50px 0;
}


/* =====================================================
   BUTTON
===================================================== */

.vineButton{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:170px;
	margin-top:35px;
	padding:18px 30px;
	border:1px solid var(--vine-wine);
	color:var(--vine-wine);
	background:transparent;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:1.8px;
	text-transform:uppercase;
	text-decoration:none;
	transition:
		background .3s ease,
		color .3s ease;
}

.vineButton:hover{
	background:var(--vine-wine);
	color:#fff;
}


/* =====================================================
   WINE HERO
===================================================== */

.vineWineIntro{
	position:relative;
	min-height:720px;
	display:flex;
	align-items:center;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

.vineWineIntroOverlay{
	position:absolute;
	inset:0;
	background:linear-gradient(
		90deg,
		rgba(20,20,17,.82) 0%,
		rgba(20,20,17,.56) 50%,
		rgba(20,20,17,.25) 100%
	);
}

.vineWineIntroContainer{
	position:relative;
	z-index:2;
}

.vineWineIntroContent{
	max-width:650px;
}


/* =====================================================
   MENU
===================================================== */

.vineMenu{
	background:#fffdf8;
}

.vineSectionHeader{
	max-width:850px;
	margin:0 auto 90px;
	text-align:center;
}

.vineSectionHeader .vineTitle{
	margin-left:auto;
	margin-right:auto;
}

.vineSectionIntro{
	max-width:620px;
	margin:0 auto;
	font-size:16px;
	line-height:1.7;
	color:rgba(53,53,47,.7);
}

.vineMenuSections{
	max-width:1050px;
	margin:0 auto;
}

.vineMenuSection{
	margin-bottom:100px;
}

.vineMenuSection:last-child{
	margin-bottom:0;
}

.vineMenuSectionHeader{
	margin-bottom:45px;
	text-align:center;
}

.vineMenuSectionHeader h3{
	margin:0 0 10px;
	font-family:var(--kobo_font_heading, Georgia, serif);
	font-size:clamp(34px,4vw,48px);
	font-weight:400;
	line-height:1.1;
	color:var(--vine-wine);
}

.vineMenuSectionHeader > div{
	font-size:13px;
	font-style:italic;
	color:rgba(53,53,47,.6);
}

.vineMenuItems{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	column-gap:80px;
	row-gap:40px;
}

.vineMenuItemTop{
	display:flex;
	align-items:baseline;
	gap:10px;
}

.vineMenuItem h4{
	flex-shrink:0;
	margin:0;
	font-family:var(--kobo_font_heading, Georgia, serif);
	font-size:21px;
	font-weight:400;
	line-height:1.3;
	color:var(--vine-text);
}

.vineMenuDots{
	flex:1;
	height:1px;
	border-bottom:1px dotted rgba(53,53,47,.3);
}

.vineMenuPrice{
	flex-shrink:0;
	font-size:15px;
	font-weight:600;
	color:var(--vine-wine);
}

.vineMenuDescription{
	max-width:90%;
	margin-top:8px;
	font-size:13px;
	line-height:1.6;
	color:rgba(53,53,47,.6);
}


/* =====================================================
   WINE SHOP / TASTING
===================================================== */

.vineWineShop{
	background:var(--vine-bg);
}

.vineTasting{
	background:#ebe5d9;
}

.vineSplit{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9%;
	align-items:center;
}

.vineSplitReverse .vineSplitImage{
	order:2;
}

.vineSplitReverse .vineSplitContent{
	order:1;
}

.vineSplitImage{
	height:720px;
	overflow:hidden;
}

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


/* =====================================================
   CONTACT
===================================================== */

.vineContact{
	padding:130px 0;
	background:var(--vine-bg-dark);
	color:#fff;
}

.vineContactHeader{
	max-width:800px;
	margin-bottom:80px;
}

.vineContactGrid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px;
	padding-top:50px;
	border-top:1px solid rgba(255,255,255,.15);
}

.vineContactLabel{
	margin-bottom:20px;
	font-size:10px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:2px;
	color:rgba(255,255,255,.45);
}

.vineContactValue{
	display:block;
	margin-bottom:8px;
	font-family:var(--kobo_font_heading, Georgia, serif);
	font-size:20px;
	font-weight:400;
	line-height:1.5;
	color:#fff;
	text-decoration:none;
}

a.vineContactValue:hover{
	color:rgba(255,255,255,.65);
}

.vineContactLink{
	display:inline-block;
	margin-top:20px;
	padding-bottom:5px;
	border-bottom:1px solid rgba(255,255,255,.5);
	font-size:10px;
	font-weight:600;
	letter-spacing:1.5px;
	text-transform:uppercase;
	color:#fff;
	text-decoration:none;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

	.vineSection{
		padding:100px 0;
	}

	.vineIntroGrid,
	.vineRestaurantGrid,
	.vineSplit{
		gap:60px;
	}

	.vineRestaurantImages{
		min-height:600px;
	}

	.vineRestaurantImage1{
		height:520px;
	}

	.vineRestaurantImage2{
		height:320px;
	}

	.vineIntroImage,
	.vineSplitImage{
		height:600px;
	}

}


@media(max-width:767px){

	.vineContainer{
		width:88%;
	}

	.vineSection{
		padding:80px 0;
	}

	.vineTitle{
		font-size:clamp(38px,12vw,52px);
	}

	.vineText{
		font-size:16px;
	}


	/* Hero */

	.vineHero{
		/* min-height:100svh; */
		min-height: 450px;
	}

	.vineHeroContent h1{
		font-size:clamp(65px,22vw,100px);
	}

	.vineHeroSubtitle{
		margin-top:20px;
		font-size:10px;
		line-height:1.7;
		letter-spacing:2.5px;
	}


	/* Intro */

	.vineIntroGrid{
		grid-template-columns:1fr;
		gap:50px;
	}

	.vineIntroImage{
		height:520px;
	}


	/* Restaurant */

	.vineRestaurant{
		padding-top:20px;
	}

	.vineRestaurantGrid{
		grid-template-columns:1fr;
		gap:50px;
	}

	.vineRestaurantImages{
		min-height:560px;
	}

	.vineRestaurantImage1{
		width:82%;
		height:480px;
	}

	.vineRestaurantImage2{
		width:52%;
		height:280px;
		border-width:8px;
	}

	.vineRestaurantContent{
		padding:0;
	}


	/* Wine */

	.vineWineIntro{
		min-height:650px;
	}

	.vineWineIntroOverlay{
		background:rgba(20,20,17,.64);
	}


	/* Menu */

	.vineSectionHeader{
		margin-bottom:65px;
	}

	.vineMenuSection{
		margin-bottom:75px;
	}

	.vineMenuItems{
		grid-template-columns:1fr;
		gap:35px;
	}

	.vineMenuItem h4{
		font-size:19px;
	}

	.vineMenuDescription{
		max-width:100%;
	}


	/* Split */

	.vineSplit{
		grid-template-columns:1fr;
		gap:50px;
	}

	.vineSplitImage{
		height:520px;
	}

	.vineSplitReverse .vineSplitImage,
	.vineSplitReverse .vineSplitContent{
		order:initial;
	}


	/* Contact */

	.vineContact{
		padding:90px 0;
	}

	.vineContactHeader{
		margin-bottom:50px;
	}

	.vineContactGrid{
		grid-template-columns:1fr;
		gap:50px;
	}

}


@media(max-width:480px){

	.vineIntroImage,
	.vineSplitImage{
		height:430px;
	}

	.vineRestaurantImages{
		min-height:480px;
	}

	.vineRestaurantImage1{
		height:410px;
	}

	.vineRestaurantImage2{
		height:230px;
	}

}


/* koboen */

/* mobile */
@media (max-width: 767px) { 
	:root { 
		--kobo_font_title_sz: 21px;
		--kobo_slider_height: 450px !important; 
		
	}
	#site-logo img{
		max-width: 140px;
	}
	.copyrights{
		padding: 30px;
	}
	.kobobook a{
		border: 0 !important;
		border-bottom: 1px solid !important;
		padding: 0 0 1px;
	}
	.is-sticky .kobobook a{
		border: 0 !important;
		border-bottom: 1px solid !important;
	}
	.koboawa { 
		bottom: 20px;
		left: 20px;
	}
	.koboawa img {
		max-width: 100px;
	}
	.vineScroll {
		display: none;
	}
}