/*
Theme Name: The River Brewing Co 
Author: Tenacity Works
Version: 1.0
*/


body {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 31px; /* 172.222% */
  letter-spacing: -0.252px;
  background:#E7E5DD;
}
h1, h2, h3, h4{
  font-family: "garage-gothic", sans-serif;
  font-style: normal;
}
h1{
  font-size: 180px;
  font-weight: 700;
  line-height: 100%; /* 180px */
  letter-spacing: -3.96px;
  text-transform: uppercase;
  text-shadow: 0 8px 12px rgba(0, 0, 0, 0.10);

}

h2{
  font-size: 80px;
  font-weight: 700;
  line-height: 100%; /* 80px */
  letter-spacing: -1.76px;
  text-transform: uppercase;
}
h3{
  font-size: 60px;
  font-weight: 700;
  line-height: 100%; /* 60px */
  letter-spacing: -1.32px;
  text-transform: uppercase;
}
.privacy-policy h3{
  font-size: 38px;
  font-weight: 700;
  line-height: 100%; /* 38px */
  letter-spacing: -0.532px;
  text-transform: uppercase;
}
h4{
  font-size: 38px;
  font-weight: 700;
  line-height: 100%; /* 38px */
  letter-spacing: -0.532px;
  text-transform: uppercase;
}
h5{
 font-size: 18px;
  font-weight: 700;
  line-height: 31px; /* 172.222% */
  letter-spacing: -0.252px;
}
p{
  line-height: 28px; /* 175% */
  letter-spacing: -0.3px;
  margin-bottom:24px;
  font-weight:400;
}
/* Lists */
ul, ol {
  margin: 1rem 0 1rem 1.5rem;
  padding: 0;
  line-height: 1.6;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

ul ul,
ol ol,
ul ol,
ol ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Bold Text */
strong {
  font-weight: 600;
}

/* Blockquotes */
blockquote {
  margin: 1.5rem 0;
  padding: 0.75rem 1rem;
  border-left: 4px solid #ccc;
  background: #f9f9f9;
  color: #333;
  font-style: italic;
}

blockquote p {
  margin: 0;
}

/* Code (if needed) */
code {
  background: #f3f3f3;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.95rem;
}
.button{
  border-radius: 4px;
  font-size: 30px;
  font-weight: 400;
  line-height: 100%; /* 38px */
  letter-spacing: 0.18px;
  text-transform: uppercase;
  padding:5px 10px;
  font-family: "garage-gothic", sans-serif;
}
body .wp-element-button{
  border-radius: 4px;
  font-size: 30px;
  font-weight: 400;
  line-height: 100%; /* 38px */
  letter-spacing: 0.18px;
  text-transform: uppercase;
  padding:5px 10px;
  font-family: "garage-gothic", sans-serif;
  background: #2E1711;
  color:#FFF;
}
/** age restriction **/
body .age-gate{
background: transparent;
  max-width: 100%;
  margin: 0 auto;
}
.age-gate__heading img{margin-bottom:0;}
.age-gate__heading {margin-bottom: 150px;}
.age-gate__subheadline{display:none;}
body .age-gate-form, body .age-gate__form {
  justify-content: unset
}
body h2.age-gate__headline{
color: #FFF;
font-family: "garage-gothic", sans-serif;
text-align: center;
text-shadow: 0 8px 12px rgba(0, 0, 0, 0.10);
font-size: 180px;
font-weight: 700;
line-height: 100%; /* 180px */
letter-spacing: -3.96px;
text-transform: uppercase;
margin-bottom:0;
}
body .age-gate__challenge{
color: #FFF;
text-align: center;
font-size: 18px;
font-weight: 400;
line-height: 31px; /* 172.222% */
letter-spacing: -0.252px;
margin-bottom:24px;
}
.age-gate-errors, .age-gate__errors {
    border-radius: 4px;
    background: #FFF;
    box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.10);
    padding: 6px 14px 8px;
    margin-top:20px;
    }
  .age-gate-errors p, .age-gate__errors p{margin-bottom:0;}
body .age-gate__submit{
font-family: "garage-gothic", sans-serif;
font-size: 38px;
font-weight: 400;
line-height: 100%; /* 38px */
letter-spacing: 0.228px;
text-transform: uppercase;
padding:6px 14px;
  border-radius: 4px;
box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.10);

}
body .age-gate__submit--yes{
  color:#FFF;
  background: #009FAF;
}
body .age-gate__submit--no{
  color:#2E1711;
  background: #FFF;
}
body .age-gate__buttons{
  gap:16px;
}
/** general **/
.home .hero .button{
  letter-spacing: 0.228px;
  font-size: 38px;
  padding:7px 14px;
}

.block-text h5{color:#2E1711;}
.block-text p{
margin-bottom:10px;
  }
/** header **/
header, .home header.sticky{height:53px; background:#E7E5DD;}
.home header.sticky{ position: fixed;}
.home header .logo{width:168px; height:168px;}
header .logo, .home header.sticky .logo{
  width:100px; 
  height:100px;
  margin-top:3px;
  z-index: 9999;
  position: relative;
}
header .legal-nav{display:none;}
nav ul{
  margin:13px 0 0;
}
.home header.sticky nav ul{align-items: unset;}
header nav ul li, .home header.sticky nav ul li{
  color: #2E1711;
  font-family: "garage-gothic", sans-serif;
  font-size: 31px;
  font-weight: 400;
  line-height: 100%; /* 31px */
  letter-spacing: -0.186px;
  text-transform: uppercase;
  list-style: none !important;
}
  nav ul li a{
      color: #2E1711;
}
nav ul li::marker{
    content:none;
}

.home header{background: transparent; position: absolute;}

.home  header svg {
  width: 168px;
  height: 168px;
  margin-top:15px;
}

.home nav ul{
  align-items: center;
}
.home header nav ul li{
  font-size: 38px;
  font-weight: 400;
  line-height: 100%; /* 38px */
  letter-spacing: -0.228px;
  text-transform: uppercase;
}
/** general **/
.container{margin:0;max-width:100%;}
.home header .container{padding-left:40px; padding-right:40px;}

.intro p:first-of-type {
  font-size: 20px;
  font-weight: 600;
  line-height: 32px; /* 160% */
  letter-spacing: -0.28px;
}
.blocks p{
  font-size: 16px;
  line-height: 30px; /* 187.5% */
  letter-spacing: -0.224px;
}
.team-desc p{margin-bottom:0;}
.sidebar a{
  color:#009FAF;
  text-decoration: underline;
}
.sidebar a:hover{
  color:#2A2A2A;
}
.sidebar i {
  margin-right: 8px;
  position: relative;
  top: 1px;
  color:#009FAF;
}
.sidebar p{line-height:32px; margin-bottom:7px;}
.privacy-policy .bottom-blocks{
  display:none;
}
/** products **/
.prod-tag{
  color: #E7E5DD;
  text-align: center;
 font-family: "garage-gothic", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 100%; /* 18px */
  letter-spacing: 0.072px;
  text-transform: uppercase;
  border-radius: 2px;
  border: 1px solid  #E7E5DD;
  padding: 2px 4px;
  margin-bottom:15px;
  display:inline-block;
}
.blue-tag{
  border-color: #009FAF;
  color:#009FAF
}
.prod-info p{
  font-size: 15px;
  font-weight: 400;
  line-height: 26px; /* 173.333% */
  letter-spacing: -0.165px;
  margin-bottom:0;
}
.prod-info h3{
  font-size: 38px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -.532px;
  text-transform: uppercase;
}
.prod-info .prod-tag{margin-bottom:6px;}
/** products **/
.single-product h1{
  font-size: 80px;
  line-height: 100%; /* 80px */
  letter-spacing: -1.76px;
}
.short-desc p{margin-bottom:0;}
.short-desc ul{
  margin-top:0;
  margin-bottom:18px;
}
.merch-banner p{margin-bottom: 0;}
/** contact **/
.contact h3{
  margin-bottom: 12px;
}
.contact i{
  margin-right: 8px;
}
.contact p{
  margin-bottom:6px;
}
.contact a{
  color:#009FAF;
  text-decoration: underline;
}
.contact .gform-theme--foundation .gform_fields{
  row-gap: 12px;
}
.contact .gform-footer.gform_footer.top_label{
  display:block;
  margin-top:15px;
}
.contact #input_1_8{min-block-size: 146px;}
/** Gravity forms **/
/** Booking Form **/
/* 2-column grid on the actual form */
body .gform-theme--framework .site-form input{
  border-radius: 4px;
  border: 1px solid #DDE1E6;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
  color: #2A2A2A;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: -0.176px;
  padding: 8px 12px;
  height: 45px !important;
}
body .gform-theme--framework .site-form textarea {
  border-radius: 4px;
  border: 1px solid #DDE1E6;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
  color: #2A2A2A;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: -0.176px;
  padding: 8px 12px;
}
body .gform-theme--framework .site-form select{
  height:45px;
  line-height:45px;
  border:none;
}
.gform-theme--framework .gfield:where(.gfield--type-select, .gfield--input-type-select) .chosen-container-single .chosen-single{
  height:44px;  
  border: 1px solid #DDE1E6;
  line-height:44px;
}
#gform_2 .gform_body,
#gform_2 .gform-body,
#gform_2 #gform_fields_2 {
  /* display: grid; */
  grid-template-columns: 1fr 1fr;    /* two equal columns */
  grid-auto-rows: min-content;
  gap: 12px;
  align-items: start;
}

/* remove default margins that break the grid */
#gform_2 .gfield { margin: 0; }

/* make inputs full width inside their grid cells */
#gform_2 .gfield .ginput_container,
#gform_2 .gfield input,
#gform_2 .gfield select,
#gform_2 .gfield textarea { 
  width: 100%; box-sizing: border-box; min-width:100%;
}
#gform_2 .gfield textarea{height:102px; min-height: unset;}

/* Explicitly place fields by their field IDs to match the visual order */
/* Row 1 */
#field_2_1 { grid-column: 1; } /* Name (left) */
#field_2_9 { grid-column: 2; } /* Preferred Date (right) */

/* Row 2 */
#field_2_4 { grid-column: 1; } /* Email (left) */
#field_2_10 { grid-column: 2; } /* Number of Guests (right) */

/* Row 3 */
#field_2_6 { grid-column: 1; } /* Contact Number (left) */
/* Special Requests (textarea) on the right spanning two rows */
#field_2_8 { grid-column: 2; grid-row: span 2; }

/* Row 4 (Tour Type should sit under Contact Number on left) */
#field_2_7 { grid-column: 1; }

/* Make textarea taller when it spans 2 rows */

/* Footer / submit button centered and spanning both columns */
#gform_2 .gform_footer {
  grid-column: 1 / -1;
  justify-self: center;
  margin-top: 19px;
}
#gfield_instruction_2_10{display:none;}
/* Make the whole form a single flex row so footer can sit to the right */
#gform_wrapper_3 form#gform_3 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;    /* keep on one line where possible */
  max-width:460px;
}

/* Fields wrapper grows to fill available space */
#gform_wrapper_3 .gform_body {
  flex: 1 1 auto;
  min-width: 0;         /* critical: allows children to shrink */
  margin: 0;
  padding: 0;
}
body #gform_wrapper_3 .gform_body input{
  border-radius: 4px;
  border: 1px solid #DDE1E6;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
  color: #2A2A2A;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: -0.176px;
  padding: 8px 12px;
  height: 44px !important;
}
/* Keep the inner fields inline and compact */
#gform_wrapper_3 .gform_fields {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0;
  min-width: 0;
}

/* Individual field reset */
#gform_wrapper_3 .gfield {
  margin: 0 !important;
  padding: 0 !important;
  width:100%;
}

#choice_1_9_1 {
  padding: 0;
  height: 20px !important;
}
#label_1_9_1 {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 19px;
  letter-spacing: -0.224px;
}
/* Footer/button stays its natural size on the right */
#gform_wrapper_3 .gform_footer {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
}
.gform-footer.gform_footer.top_label {
  display: flex;
  justify-content: center;
}
/* Button visual styling */
#gform_wrapper_3 .gform_button{
 font-size: 30px;
}
#gform_submit_button_2, #gform_submit_button_4, #gform_submit_button_1 {
   font-size: 38px;
}
#gform_wrapper_3 .gform_button, #gform_submit_button_4, #gform_submit_button_1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #009FAF;
  border: none;
  cursor: pointer;
  color: #FFF;
  font-family: "garage-gothic", sans-serif;
  font-weight: 400;
  line-height: 100%; /* 30px */
  letter-spacing: 0.18px;
  text-transform: uppercase;
  padding:5px 10px 7px;
  height:44px;
}

#gform_submit_button_2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #2E1711;
  border: none;
  cursor: pointer;
  color: #FFF;
  font-family: "garage-gothic", sans-serif;
  font-weight: 400;
  line-height: 100%; /* 30px */
  letter-spacing: 0.18px;
  text-transform: uppercase;
  padding:5px 10px 7px;
  height:44px;
}
/* Hide the default checkbox */
.gfield-choice-input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #3b82f6; /* blue border */
  border-radius: 4px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  vertical-align: middle;
}

/* When checked – blue background */
.gfield-choice-input[type="checkbox"]:checked {
  background-color: #009FAF; /* blue */
  border-color: #009FAF;
}

/* White tick */
.gfield-choice-input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 6px;
  width: 6px;
  height: 13px;
  border: solid #ffffff; /* white tick */
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
#gform_confirmation_message_1, #gform_confirmation_message_4{
  color:#2A2A2A;
}
#gform_confirmation_message_2{
  color:#FFF;
}
#gform_confirmation_message_3 {
  line-height: 130%;
  color: white;
}
/* === Gravity Forms: 5 fields left, textarea right (form ID 4) === */
/* Scope to this form only */
#gform_4 .gform-body .gform_fields {
  display: grid;
  grid-template-columns: 1fr minmax(50%, 50%); /* left flexible, right fixed-ish */
  grid-auto-rows: auto;
  gap: 12px 12px; /* row-gap / column-gap */
  align-items: start;
}

/* Explicitly place each left field in rows 1..5 (use DOM order mapping) */
#gform_4 #field_4_1 { grid-column: 1; grid-row: 1; }
#gform_4 #field_4_3 { grid-column: 1; grid-row: 2; }
#gform_4 #field_4_4 { grid-column: 1; grid-row: 3; }
#gform_4 #field_4_5 { grid-column: 1; grid-row: 4; }
#gform_4 #field_4_6 { grid-column: 1; grid-row: 5; }

/* Put the textarea in the right column and span the same rows */
#gform_4 #field_4_7 {
  grid-column: 2;
  grid-row: 1 / 6; /* spans rows 1 through 5 so it sits to the right of all five fields */
  align-self: start; /* ensures it starts at top of the column */
}

/* Make inputs & selects full width of their grid cell */
#gform_4 .gfield .ginput_container,
#gform_4 .gfield .ginput_container input,
#gform_4 .gfield .ginput_container select,
#gform_4 .gfield .ginput_container textarea {
  width: 100%;
  box-sizing: border-box;
}

/* Optional: control textarea visual height */
#gform_4 #field_4_7 textarea {
  min-height: 260px;
  height: 275px;
  resize: vertical;
}

/* Responsive: stack to single column on small screens */
@media (max-width: 720px) {
  #gform_4 .gform-body .gform_fields {
    grid-template-columns: 1fr;
  }
  #gform_4 #field_4_7 {
    grid-column: 1;
    grid-row: 6; /* place after the five fields */
  }
}
/* Start state */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .7s ease-out, transform .7s ease-out; transition-delay: var(--delay,0ms); }
.reveal-visible { opacity:1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .reveal, .reveal-visible { transition: none !important; transform: none !important; } }
/** map **/
.map-wrap { width:100%; height:450px; position:relative; overflow:hidden; border-radius:8px; }
.map-wrap iframe { width:100%; height:100%; border:0; display:block; }

  /* Overlay is a button so clicks/keys are always delivered reliably */
  .map-overlay-btn {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-100%); /* bottom of icon at center */
    width:56px;
    height:56px;
    z-index:9;
    border:0;
    padding:0;
    margin:0;
    background:transparent;
    cursor:pointer;
    pointer-events:auto;
  }
  .map-overlay-btn img { width:100%; height:100%; display:block; object-fit:contain; user-select:none; pointer-events:none; -webkit-user-drag:none;}
/** footer **/
footer nav ul{margin-top:0;}
footer nav ul li{
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important; /* 142.857% */
  letter-spacing: -0.084px !important;
  font-family: "Inter", sans-serif !important;
  margin:0 0 5px !important;
  list-style:none;
}
footer nav ul li a{
  color:  #009FAF;
}
footer .foot-info i{margin-right:8px;}
footer .foot-info p{color:#009FAF;}
footer a{color:#009FAF;}
/* Responsive: stack on small screens */

.grid-cols-3 {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

/* Responsive: stack vertically on small screens */
@media (max-width: 640px) {
  #gform_wrapper_3 form#gform_3 {
    flex-direction: column;
    align-items: stretch;
  }

  #gform_wrapper_3 .gform_body,
  #gform_wrapper_3 .gform_fields {
    width: 100%;
    flex-direction: column;
    gap: .5rem;
  }

  #gform_wrapper_3 .gform_button {
    width: 100%;
  }
}

@media (max-width: 768px) {
  h1{
    font-size: 64px !important;
    letter-spacing: 0;
  }
  h2 {
    font-size: 52px;
    letter-spacing: -1px;
  }
  h3{
    font-size:42px;
    letter-spacing: -0.62px;
  }
  h4{font-size: 34px;}
  .home header .logo {
    width: 100px;
    height: 100px;
  }
 body .age-gate__heading{margin-bottom:40px;}
body h2.age-gate__headline{
 font-size: 64px;
    letter-spacing: 0;
}
.home .hero .button, #gform_submit_button_2, #gform_submit_button_4, #gform_submit_button_1{font-size: 32px;}
  #gform_2 .gform_body,
  #gform_2 .gform-body,
  #gform_2 #gform_fields_2 { display: block; }
  #gform_2 .gfield {
  margin-bottom: 10px;
}
  #field_2_8 textarea { min-height: 140px; }
  #gform_2 .gform_footer { justify-self: stretch; }
  footer ul li{list-style:none;}
}
  @media (max-width: 1200px) {
    .logo-holder{
      margin:0 auto;
    }
    .burger-holder{
      position:absolute;
      right:10px;
    }
    h1 {
    font-size: 140px;
}
   #mobile-menu > div {
    transform-origin: top;
    padding-bottom: 40px;
    padding-left: 40px;
    padding-top: 90px;
  }

  .scale-y-0 { transform: scaleY(0); }
  .scale-y-100 { transform: scaleY(1); }
  .opacity-0 { opacity: 0; }
  .opacity-100 { opacity: 1; }
  .pointer-events-none { pointer-events: none; }

  /* Burger -> X animation */
  .burger-line {
    transition: transform 240ms cubic-bezier(.2,.9,.2,1), opacity 180ms ease-in-out;
    transform-origin: center;
  }

  /* default spacing tweaks so rotation pivots nicely */
  .line1 { transform: translateY(0); }
  .line2 { transform: translateY(0); }
  .line3 { transform: translateY(0); }

  /* When the button has the "open" class, morph into X */
  #mobile-toggle.open .line1 { transform: translateY(5px) rotate(45deg); }
  #mobile-toggle.open .line2 { opacity: 0; transform: scaleX(0.5); }
  #mobile-toggle.open .line3 { transform: translateY(-2.3px) rotate(-45deg); }

  /* Only small helpers for the mobile animation — desktop unaffected */
  #mobile-menu > div { transform-origin: top;padding-bottom:40px }
.home  header.sticky svg {margin-top:0;}
 .home #mobile-menu {
    top: 0px !important;
  }
  #mobile-toggle svg {
    width: 40px;
    height: 40px;

    position: relative;
    z-index: 999;
  }

    #mobile-menu ul {margin:0;}
  #mobile-menu ul li{
    list-style: none;
    font-family: "garage-gothic", sans-serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 100%; /* 31px */
    letter-spacing: -0.186px;
    text-transform: uppercase;
    margin-bottom:8px;
  }
   #mobile-menu ul li a{
    color:#2E1711;
   }
  header nav{display:none !important;}

    #mobile-menu { top: 53px !important; } /* match your header height on mobile if needed */
  }

  @media screen and (min-width: 1201px) {
    .burger-holder, #mobile-menu{
      display:none;
    }
  }
    @media (max-width: 1350px) {
         header .container, .home header .container{padding:0;}
    }
@media (min-width:1200px) and (max-width:1253px) {
    .home header nav ul li {
    font-size: 34px;
    }
}