/*
Theme Name: Hop Garden by Three Ring Focus
Theme URL: https://ThreeRingFocus.com
Description: Responsive Website by Three Ring Focus
Author: Josh Castro
Author URI: ThreeRingFocus.com
Version: 9.9.9
Tags: Responsive, green, brown, blue, tan.
*/

/* 	
== DEFAULTS ==*/

* {
    box-sizing: border-box; /* border thickness & padding included inside box */
    margin: 0;
    padding: 0;
}
body {
    color: #111;
	font-family: montserrat, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: .06rem;
    text-align: left;
	background-color: #f9f5ee;
	background-image: url("images/global/bg-texture.jpg");
	background-position: center bottom;
	background-repeat: repeat-x;
	background-attachment: fixed;
}
.clear {
    clear: both;
}
input[type="checkbox"] {
    -webkit-appearance: checkbox;
}
input[type="radio"] {
    -webkit-appearance: radio;
    margin-top: 0px;
}
input[type="submit"], input[type="button"] {
    -webkit-appearance: button;
}
/* Accessibility: Skip Link */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.skip-link:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px;
	position: absolute;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}


/* 	
== SCROLL BAR ==*/

/* Width */
::-webkit-scrollbar {
  width: 15px;
}
/* Track */
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
  background: #eee;
}
/* Handle */
::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
  background: #2a1f0d;
}


/* 	
== FONTS ==*/

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 10px 0;
	font-family: alternate-gothic-no-3-d, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1em;
	letter-spacing: .08rem;
	text-transform: uppercase;
	color: #2a1f0d;
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
	font-size: 1.6rem;
	color: #455324;
}
h1 {
	margin: 0;
    font-size: 3.5rem;
}
h2 {
    font-size: 2.5rem;
}
h3 {
    font-size: 2rem;
}
h4 {
    font-size: 1.5rem;
}
h5 {
    font-size: 1.15rem;
}
h6 {
    font-size: .8rem;
}
p {
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 35px 0;
}
a {
    text-decoration: none;
    cursor: pointer;
	font-style: normal;
    transition: all .4s ease-in-out;
}
a:hover {
}
ul, ol {
    list-style: inside;
    padding: 0px;
    margin: 35px 0;
}
ul {
    list-style-type: disc;
}
ol {
    list-style-type: decimal;
}
li {
    font-size: 1rem;
    line-height: 1.5rem;
}
.bgImg {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/*
== Buttons ==*/
a.buttons {
	padding: 10px 30px;
	margin: 10px 0 0 0;
	text-align: center;
	display: inline-block;
	font-size: 1rem;
    letter-spacing: .15rem;
	font-family: alternate-gothic-no-3-d, sans-serif;
	text-transform: uppercase;
	border: 2px solid #455324;
	color: #FFF;
	background-color: #455324;
    transition: all .4s ease-in-out;
}
a.buttons:hover {
	color: #455324;
	background-color: #f9f5ee;
}

/* 	
== HEADER ==*/

.site-header {
	width: 100%;
	display: flex;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
}
.logo {
    width: 208px;
    height: 230px;
	display: inline-block;
    background-image: url("images/global/logo.png");
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* 	
== HOME PAGE ==*/
.hero {
	width: 100%;
    display: flex;
}
.heroOne,
.heroTwo {
	width: 50%;
	position: relative;
}
.heroOne {
	display: flex;
	align-items: flex-end;
	padding: 0 160px 170px 8%;
}
.heroText {
	width: 100%;
	max-width: 560px;
}
.heroText h1 {
	letter-spacing: .1rem;
	font-size: 4rem;
}
.heroText span a {
	color: #2e3b51;
}
.heroText span a:hover {
	color: #455324;
}
.heroTwo {
	height: 1135px;
}
.hfImg {
	background-image: url("images/home/hero.jpg");
}
.heroFloat {
    width: 100%;
    max-width: 675px;
    height: 455px;
    background-image: url("images/home/img-1.jpg");
    border: 10px solid #fff;
    box-shadow: 0 0 10px 3px rgba(0,0,0,.2);
    position: absolute;
    z-index: 10;
    left: -150px;
    bottom: 100px;
    will-change: transform; /* add this */
}
/* Section 1 */
.section1 {
	width: 100%;
	padding: 120px 20px 0;
}
.s1Text {
	width: 100%;
	max-width: 600px;
	margin: auto;
	text-align: center;
}
/* Wine Carousel */
.wine-carousel-wrapper {
    width: 100%;
	max-width: 1580px;
	margin: 70px auto -120px auto;
    overflow: hidden;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.wine-carousel-wrapper:active {
    cursor: grabbing;
}
.wine-carousel {
    display: flex;
    width: 100%;
    will-change: transform;
    /* JS sets transition; dragging removes it */
}
.wine-carousel__slide {
    flex: 0 0 calc(100% / 6);
    min-width: 0;
    padding: 0 12px;
    box-sizing: border-box;
    text-align: center;
}
.wine-carousel__image-wrap {
    width: 100%;
    max-width: 106px;
    margin: 0 auto 12px;
    border-radius: 8px;
    overflow: hidden;
}
.wine-carousel__image-wrap img {
    width: 100%;
    height: auto;
    display: block;
    pointer-events: none;
}
.wine-carousel__title {
    margin: 0 0 6px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}
.wine-carousel__sub-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: inherit;
    opacity: 0.7;
}
/* ---- Responsive breakpoints ---- */
/* Under 900px → show 4 slides */
@media ( max-width: 899px ) {
    .wine-carousel__slide {
        flex: 0 0 calc(100% / 4);
    }
}
/* Under 667px → show 2 slides */
@media ( max-width: 666px ) {
    .wine-carousel__slide {
        flex: 0 0 calc(100% / 2);
    }
}
/* Section 2 */
.section2 {
	width: 100%;
	padding: 240px 20px 20px 20px;
	background-color: #fff;
}
.s2Text {
	width: 100%;
	max-width: 600px;
	margin: auto;
	text-align: center;
}
/* Section 3 */
.section3 {
	width: 100%;
	padding: 10px 20px;
	background-color: #fff;
}
/* Featured Carousel */
.featured-carousel-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    padding: 100px 0;
    box-sizing: border-box;
}
.featured-carousel-wrapper:active {
    cursor: grabbing;
}
.featured-carousel {
    display: flex;
    align-items: center;
    will-change: transform;
    /* JS controls transition */
}
.featured-carousel__slide {
    flex: 0 0 calc(100vw / 5);
    min-width: 0;
    box-sizing: border-box;
    padding: 0 5px;
    position: relative;
    transition: transform 0.4s ease, filter 0.4s ease;
    transform-origin: center center;
}
.featured-carousel__slide:first-child {
    padding-left: 0;
}
.featured-carousel__slide:last-child {
    padding-right: 0;
}
.featured-carousel__image-wrap {
    width: 100%;
    overflow: hidden;
}
.featured-carousel__image-wrap img {
    width: 100%;
    height: auto;
    display: block;
    pointer-events: none;
}
.featured-carousel__slide {
    filter: brightness(0.5);
}
.featured-carousel__slide.is-active {
    transform: scale(1.2);
    filter: brightness(1);
    z-index: 2;
}
.featured-carousel__slide.is-active .featured-carousel__image-wrap {
    border: 10px solid #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}
/* ---- Responsive: 3 slides on narrow screens ---- */
@media ( max-width: 767px ) {
    .featured-carousel__slide {
        flex: 0 0 calc(100vw / 3);
    }
}
/* Section 4 */
.section4 {
	width: 100%;
	padding: 20px 20px 120px 20px;
	background-color: #fff;
}
.s4Wrap {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.s4Text {
	width: 100%;
	max-width: 440px;
}
.s4Text a {
	color: #455324;
	font-family: alternate-gothic-no-3-d, sans-serif;
	text-transform: uppercase;
}
.s4Text a:hover {
	text-decoration: underline;
}
.s4Divide {
	margin: 0 20px;
}
.s4Line {
	width: 1px;
	height: 70px;
	margin: 0 auto;
	background-color: #455324;
}
.s4Logo {
	width: 120px;
	height: 120px;
	margin: 20px auto;
	background-image:url("images/global/logo-little.png");
}


/* 	
== PAGES ==*/

.banner {
    width: 100%;
    height: auto;
}
.banner img {
    width: 100%;
    height: auto;
    display: block;
}
.bannerBG {
	width: 100%;
	height: 640px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.container {
    width: 100%;
    margin: 0;
	padding: 20px 20px 20px 20px;
}
.pageContent {
	max-width: 1220px;
    margin: 0 auto;
    padding: 50px 0 100px 0;
}
/*
== PAGE TEMPLATE ==*/
.menuText {
	width: 100%;
	max-width: 640px;
	margin: auto;
	padding: 50px 20px;
	text-align: center;
}
.menuTop {
    width: 100%;
	text-align: center;
	border-bottom: 1px solid #2e3b51;
}
.pageMenu {
	max-width: 1220px;
    margin: 0 auto;
    padding: 10px 0px 100px 0px;
}
.pageMenu h2 {
	margin: 100px 0 50px 0;
}
.pageMenu h3 {
	color: #455324;
	margin: 0;
	font-size: 1.8rem;
}
.pageMenu p {
	margin: 5px 0 20px 0;
}
/* Food Sub Nav */
.menuTop {
    width: 100%;
    display: flex;
    justify-content: center;
}
.food-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.food-nav li {
    display: block;
	font-family: alternate-gothic-no-3-d, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1em;
	font-size: 1.5rem;
	letter-spacing: .08rem;
	text-transform: uppercase;
}
.food-nav li a {
    display: block;
    padding: 18px 24px;
    color: #2e3b51;
    background-color: transparent;
    text-decoration: none;
    text-align: center;
    line-height: 1;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.food-nav li a:hover,
.food-nav li.current-menu-item a {
    color: #f9f5ee;
    background-color: #2e3b51;
}

/* 	
== FOOTER ==*/

.myFooter {
    width: 100%;
    padding: 30px 20px;
	color: #fff;
	text-align: center;
	background-color: #455324;
}
.myFooter a {
	text-decoration: none;
	color: #fff;
}
.myFooter a:hover {
	text-decoration: underline;
	color: #ddd;
}
.myFooter ul {
    list-style: none;
    margin: 20px 0;
	text-transform: uppercase;
}
.myFooter li {
	display: inline-block;
	padding: 0 20px;
	font-size: 1.1rem;
	font-family: alternate-gothic-no-3-d, sans-serif;
	line-height: 1rem;
}
.myFooter p {
	margin: 80px 0 0 0;
	line-height: 1rem;
}
.social-links {
	margin: 30px 0;
}
.social-links a:hover {
	text-decoration: none;
}
.social-links .fa-2x {
    font-size: 1.5rem;
}
.social-links .fa-inverse {
	color: #455324;
}

/* 	
== NEWS/BLOG ==*/

#thumby {
	padding: 0;
	display: block;
	margin-top: 20px;
	margin-bottom: 10px;
	min-height: 150px;
	background-position: center;
	background-size: cover;
}
#thumby img {
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	display: block;
}
#texty h2 {
	padding: 0;
	margin: 30px 0px 25px 25px;
	text-align: left;
	font-size: 1.5rem;
}
#texty p {
	font-size: .9rem;
	line-height: 1.5rem;
	text-align: left;
	letter-spacing: 1px;
	margin: 0px 0px 15px 25px;
}
#texty h2 a {
	color: #2d3691;
}
#texty p a {
	color: #444;
	text-decoration: none;
}
.spacer {
	width: 100%;
	height: 30px;
}
.split {
	padding: 0;
	width: 70%;
	height: 2px;
	margin: 30px auto;
	background-color: #DDD;
}
.blog-three {
	float: left;
	width: 30%;
}
.blog-seven {
	float: left;
	width: 70%;
}

/* 	
== RESPONSIVE ELEMENTS ==*/

.response img {
    width: 100%;
    height: auto;
    display: block;
}
.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 20px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mapWrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.mapWrapper iframe, .mapWrapper object, .mapWrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 	
== RESPONSIVE STYLES ==*/

.cent {margin: auto;}
.alpha {float: left;}
.omega {float: right;}
.one {width: 10%;}
.two {width: 20%;}
.three {width: 30%;}
.four {width: 40%;}
.five {width: 50%;}
.six {width: 60%;}
.seven {width: 70%;}
.eight {width: 80%;}
.nine {width: 90%;}
.ten {width: 100%;}
.third {width: 33.333%;}
.two-thirds {width: 66.666%;}
.quarter {width: 25%;}
.three-qtr {width: 75%;}


/* Custom */
@media only screen and (max-width: 1600px) {
}

/* Monitor Medium | iPad Pro Large Landscape */
@media only screen and (max-width: 1366px) {
	.heroFloat {left: -80px;}
}

/* iPad Pro Landscape */
@media only screen and (max-width: 1112px) {
	.hero {flex-direction: column;}
	.heroOne, .heroTwo {width: 100%;}
	.heroOne {padding: 220px 50px 100px 50px;}
}

/* iPad & iPad Mini Landscape | iPad Pro Portrait */
@media only screen and (max-width: 1024px) {
}

/* Monitor Small */
@media only screen and (max-width: 800px) {
	h1 {font-size: 2.5rem;}
	h2 {font-size: 1.5rem;}
	h3, .pageMenu h3 {font-size: 1.125rem;}
	h4 {font-size: 1rem;}
	h5 {font-size: .813rem;}
	h6 {font-size: .625rem;}
	p, li {font-size: .9rem;}
	h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {font-size: 1.4rem;}
	.heroText h1 {font-size: 3rem;}
	
	.heroTwo {height: 800px;}
	.heroFloat {left: 10px; max-width: 400px; height: 400px;}
	.s4Wrap {flex-direction: column;}
	.s4Text {text-align: center;}
	.s4Divide {margin: 50px 0; width: 100%; max-width: 440px; text-align: center;}
	.s4Line {width: 100%; height: 1px;}
	.s4Logo {margin: 50px auto;}

}

/* Custom */
@media only screen and (max-width: 781px) {
	:where(.wp-block-columns.is-layout-flex) {gap: 0;}
}

/* iPhone 8 Plus Landscape | iPad Portrait */
@media only screen and (max-width: 768px) {
}

/* iPhone 8 Landscape */
@media only screen and (max-width: 667px) {
}

/* Mobile Portrait */
@media only screen and (max-width: 600px) {
	.heroOne {padding: 220px 20px 60px 20px;}
}

/* iPhone SE Landscape */
@media only screen and (max-width: 568px) {
}
