/*
Theme Name: Hirsch Vineyards
Theme URI: https://hirschvineyards.com/
Author: Vin
Author URI: https://vinagency.com
Version: 1.0.0
*/

/* 

Reset
Color
Elements
Layout
Typography
Links
Forms
Util
Components
Grid

*/

/* =Reset */

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
min-height: 100vh;
overscroll-behavior: none;
overflow-x: clip;
}
:focus {
outline: none;
}
:focus-visible {
outline: 1px dotted var(--color-border-dark);
outline-offset: 5px;
}
p:empty {
display: none;
}
img {
color: transparent;
}
:root {
overscroll-behavior: none;
}
@view-transition {
navigation: auto;
}

/* =Color */

:root {
--color-focus: var(--wp--preset--color--red);
--color-black: #111;
--color-background: var(--wp--preset--color--cream);
--color-border: var(--wp--preset--color--gray-light);
--color-border-medium: var(--wp--preset--color--gray-medium);
--color-border-dark: var(--wp--preset--color--gray-dark);
--color-primary: #ccc;
--color-primary-medium: #aaa;
--color-primary-dark: #666;
--color-red: var(--wp--preset--color--red);
}
:focus-visible {
outline: 1px dotted var(--color-focus);
outline-offset: 3px;
}

/* =Elements */

body {
scroll-behavior: smooth;
/* letter-spacing: .05em; */
/* overflow-x:hidden; */
}
* {
margin:0;
padding:0;
box-sizing: border-box;
}
button {
background-color: transparent;
border: 0;
cursor: pointer;
padding: 0;
text-transform: uppercase;
font-size:16px;
letter-spacing:.05em;
}
a {
text-decoration-color: var(--color-border-medium);
}
a:hover,
p a:hover {
text-decoration-color: var(--color-border-dark);
}
p a:hover,
p a:where(:not(.wp-element-button)):hover {
text-decoration: underline;
text-decoration-color: var(--color-border-dark);
}
img {
max-width: 100%;
color: transparent;
}
body ul {
padding-left: 0;
}
li::marker {
color: var(--wp--preset--color--gray-medium);
}


/* =Links */

h2 a {
text-decoration: underline;
text-underline-offset: 0.25em;
text-decoration-color: var(--color-border);
text-decoration-thickness: 1px;
color: var(--wp--preset--color--red);
transition: all .35s ease;
}
h2 a:hover,
h2 a:focus-visible {
text-decoration: underline;
text-underline-offset: 0.25em;
text-decoration-color: var(--color-border-medium);
text-decoration-thickness: 1px;
color: var(--wp--preset--color--red-light);
transition: all .35s ease;
}

/* =Layout */

@media screen and (max-width: 640px) {
  :root {
  --wp--style--root--padding-right: 30px !important;
  --wp--style--root--padding-left: 30px !important;
  }
  html body .has-global-padding {
  padding-left: 30px;
  padding-right: 30px;
  }
}
@media screen and (max-width: 640px) {
  :root {
  --wp--preset--font-size--xxxx-large: 36px;
  }
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  :root {
  --wp--preset--font-size--xxxx-large: 45px;
  }
}

/* =Typography */

body,
button {
letter-spacing: 0.025;
}

h2.size-2 {
font-size: 24px;
}
h3.size-2 {
font-size: 1rem;
}
p {
margin-bottom: 1em;
}
h1, h2, h3 {
font-weight:normal;
}
h1 {
margin-top: 0;
margin-bottom: 1em;
}
h1.spacing-tight {
margin-bottom: .5em;
}
h2 {
margin-top: 1em;
margin-bottom: 1em;
}
h2.spacing-tight {
margin-bottom: .5em;
}
h3 {
margin-top: 1em;
margin-bottom: 1em;
letter-spacing: .05em;
}
h4 {
letter-spacing: .05em;
}
h2 + h3,
h3 + h4 {
margin-top: -1em;
}
h3 + h4 {
margin-bottom: 1rem;
}
p {
letter-spacing: .025em;
}
@media screen and (max-width:640px) {
    :root {
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--xx-large: 27px;
    --wp--preset--font-size--xxx-large: 30px;
    }
}
@media screen and (min-width:1660px) {
    :root {
    --wp--preset--font-size--medium: 20px;
    }
}
@media screen and (min-width:640px) {

  h2.hanging-punctuation {
  text-indent: -0.25em;
  }
}
.hanging-punctuation::before {
display: inline-block;
}
.hanging-punctuation::before {
content: "\201C";
padding-right: .1em;
}
.hanging-punctuation::after {
content: "\201D";
padding-left: 0.05em;
}
.text-balance {
text-wrap: balance;
}


/* =Forms */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
width: 100%;
padding: .5rem;
font-size: var(--wp--preset--font-size--medium);
}
.form-required {
color: var(--color-red);
}
label {
text-transform: uppercase;
letter-spacing: .05em;
font-size: var(--wp--preset--font-size--small);
}


/* =Util */

.hide {
display: none;
}

@media screen and (max-width: 768px) {
  .hide-mobile {
  display: none !important;
  }
}


/* =Components */

/* cellaring-chart-explanation */

#cellaring-chart-explanation {
max-width: 100%;
}

/* image block alignment */

@media screen and (min-width: 641px) {
  .wp-block-image.alignright {
  margin-left: auto;
  }
}


/* vineyard-link-image */

.image-link a,
.vineyard-link-image a {
background-color: var(--wp--preset--color--beige);
display: block !important;
}
.image-link img,
.vineyard-link-image img {
transform: scale(1);
transition: all 0.3s ease;
display: block;
box-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
}
.image-link a:hover img,
.image-link a:focus-visible img,
.vineyard-link-image a:hover img,
.vineyard-link-image a:focus-visible img {
transform: scale(1.02);
transition: all 0.3s ease;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}


/* Kadence Galleries */

.kb-gallery-item-link img {
transform: scale(1.00);
transition: all 0.3s ease;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.kb-gallery-item-link:hover img,
.kb-gallery-item-link:focus-visible img {
transform: scale(1.01);
transition: all 0.3s ease;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

/* Kadence Gallery Lightbox */

.glightbox-container .gnext {
right: 0;
}
.glightbox-container .gprev {
left: 0;
}
.glightbox-container .gnext svg,
.glightbox-container .gprev svg {
display: none;
}
.glightbox-container .gclose svg {  
display: none;
}
.glightbox-container button.gclose::after,
.glightbox-container button.gnext::after,
.glightbox-container button.gclose::after {
font-family: 'Times New Roman', Times, serif;
color: #111;
font-size: 1.25rem;
}
.glightbox-container button:hover.gclose::after,
.glightbox-container button:hover.gnext::after,
.glightbox-container button:hover.gclose::after {
color: var(--wp--preset--color--red);
}
.glightbox-container button.gclose::after {
content: "\00D7";
display: block;
}
.glightbox-container button.gnext::after {
content: "\2192";
display: block;
}
.glightbox-container .gprev::after {
content: "\2190";
display: block;
}
body .glightbox-kadence-dark {
--glightbox-main-color: var(--wp--preset--color--cream) !important;
}
body .goverlay {
background-color: var(--wp--preset--color--cream) !important;
}
body .glightbox-container .gclose {
top:0;
right:0;
padding-top: 10px;
padding-bottom: 10px;
}
body .glightbox-container .gclose, 
body .glightbox-container .gnext, 
body .glightbox-container .gprev {
background-color: transparent !important;
width: 50px;
text-align: center;
}
.glightbox-container .gslider {
padding: 60px;
}
body .glightbox-container .gslide-media {
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}



/* accolades-table */

.accolades-table.wp-block-table {
border-collapse: collapse;
border: none;
}
body .wp-block-table th {
font-family: var(--wp--preset--font-family--univers-next-pro-condensed);
font-size: var(--wp--preset--font-size--small);
text-transform: uppercase;
letter-spacing: .05em;
border:none;
text-align: left;
}
body .wp-block-table thead {
border-bottom: 2px solid var(--wp--preset--color--gray-medium);
}
body .wp-block-table td {
border: none;
border-bottom: 1px solid var(--wp--preset--color--gray-medium);
}

/* button outline style */

:root :where(.wp-block-button.is-style-outline .wp-block-button__link) {
color: var(--wp--preset--color--red);
background-color: var(--wp--preset--color--cream);
border: 2px solid var(--wp--preset--color--red)
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color, .has-background):hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color, .has-background):focus-visible {
color: #fff;
background-color: var(--wp--preset--color--red);
border: 2px solid var(--wp--preset--color--red)
}

/* post archive items */

.wp-block-post img {
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
transform: scale(1);
transition: all 0.3s ease;
}
.wp-block-post a:hover img {
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
transform: scale(1.02);
transition: all 0.3s ease;
}

/* post navigation */

.wp-block-post-navigation-link {
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
text-wrap: balance;
}
@media screen and (min-width: 641px) {
  .wp-block-post-navigation-link {
  max-width: 50%;
  }
}
.wp-block-post-navigation-link > span.is-arrow-arrow {
color: var(--wp--preset--color--gray-medium);
transition: all .35s ease;
}
.wp-block-post-navigation-link:hover span.is-arrow-arrow,
.wp-block-post-navigation-link:focus-within span.is-arrow-arrow {
color: var(--wp--preset--color--gray-dark);
transition: all .35s ease;
}
.wp-block-post-navigation-link a {
text-decoration: none;
display: inline-flex;
flex-direction: column
}
.wp-block-post-navigation-link a span:first-child {
font-family: var(--wp--preset--font-family--univers-next-pro-condensed);
text-transform: uppercase;
letter-spacing: .05em;
font-size: var(--wp--preset--font-size--small)
}
.wp-block-post-navigation-link .post-navigation-link__title {
font-family: var(--wp--preset--font-family--trajan-pro-3);
color: var(--wp--preset--color--red);
line-height: 1.75em;
padding-top: .5rem;
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--gray-light);
text-underline-offset: 0.5em;
transition: all .35s ease;
}
.wp-block-post-navigation-link a:hover .post-navigation-link__title,
.wp-block-post-navigation-link a:focus-visible .post-navigation-link__title {
color: var(--wp--preset--color--red-light);
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--gray-medium);
text-underline-offset: 0.5em;
transition: all .35s ease;
}
.post-navigation-link-next {
text-align: right;
}


/* captions */

body .wp-block-image :where(figcaption) {
margin-bottom: 2rem;
}

/* categories menu */

:root :where(.wp-block-query-title span) {
font-style: normal;
}
.wp-block-categories-list {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
}
.wp-block-categories-list-all a,
.wp-block-categories-list a {
text-transform: uppercase;
font-family: var(--wp--preset--font-family--trajan-pro-3);
font-size: var(--wp--preset--font-size--small);
color: var(--wp--preset--color--red);
text-decoration-color: var(--wp--preset--color--gray-light);
text-underline-offset: 0.5em;
transition: all .35s ease;
}
.wp-block-categories-list a:hover,
.wp-block-categories-list a:focus-visible {
text-decoration: underline;
color: var(--wp--preset--color--red-light);
text-decoration-color: var(--wp--preset--color--gray-medium);
transition: all .35s ease;
}
.wp-block-categories-list li {
margin-bottom: 0;
}


/* post */

.wp-block-post-title a {
text-transform: uppercase;
color: var(--wp--preset--color--red);
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--gray-light);
text-underline-offset: 0.5em;
text-decoration-thickness: 1px;
transition: all .35s ease;
line-height: 1.75em;
hyphens: auto;
}
.wp-block-post-title a:hover,
.wp-block-post-title a:focus-visible {
text-decoration: underline;
color: var(--wp--preset--color--red-light);
text-decoration-color: var(--wp--preset--color--gray-medium);
transition: all .35s ease;
text-decoration-thickness: 1px;
text-underline-offset: 0.5em;
}




/* posts block */

/* .wp-block-post h2 a {
text-decoration: underline;
text-decoration-color: var(--color-border-medium);
text-decoration-thickness: 1px;
}
.wp-block-post h2 a:hover,
.wp-block-post h2 a:focus-visible {
text-decoration: underline;
text-decoration-color: var(--color-border-dark);
text-decoration-thickness: 1px;
} */
.post.type-post > figure {
padding-bottom: 0 !important;
}


/* events archive sticky image */

.sticky-events-image {
position: sticky;
top: 50px;
height: calc(100vh - 120px);
}
.sticky-events-image figure {
position: relative;
display: block;
width: 100%;
height: calc(100vh - 120px);
}
.sticky-events-image figure img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: 25% 0;
}
@media screen and (max-width: 768px) {
  .sticky-events-image {
  margin-block-end: 2rem !important;
  }
}

/* search */

.wp-block-search__label {
position: absolute;
top: -10000px;
left: -10000px;
}

/* contact form 7 */

body .wpcf7 form.sent .wpcf7-response-output {
border-color: var(--color-primary-dark);
}

/* image block captions */

:root :where(.wp-element-caption, 
.wp-block-audio figcaption, 
.wp-block-embed figcaption, 
.wp-block-gallery figcaption, 
.wp-block-image figcaption, 
.wp-block-table figcaption, 
.wp-block-video figcaption) {
font-size: 1rem !important;
}

/* buttons */

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
background-color: var(--wp--preset--color--red-light);
transition: all .35s ease;
}
button,
input[type="submit"],
a.button {
background-color: transparent;
/* background-color:  var(--wp--preset--color--red); */
border: 2px solid var(--wp--preset--color--red);
border-radius: 0;
padding: 1rem 1.5rem;
font-family: var(--wp--preset--font-family--univers-next-pro-condensed);
color: var(--wp--preset--color--red);
/* color: #fff; */
font-size: var(--wp--preset--font-size--small);
text-transform: uppercase;
letter-spacing: .1em;
cursor: pointer;
transition: all .35s ease;
text-decoration: none;
}
button:hover,
input[type="submit"]:hover,
button:focus-visible,
input[type="submit"]:focus-visible,
a.button:hover,
a.button:focus-visible,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible {
font-family: var(--wp--preset--font-family--univers-next-pro-condensed);
color: #fff;
font-size: var(--wp--preset--font-size--small);
border-color: var(--wp--preset--color--red);
background-color: var(--wp--preset--color--red);
transition: all .35s ease;
text-decoration: none;
}
    