/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
:root {
  --general-transition: all 0.4s ease;
  --box-shadow: 0px 5px 16px -5px rgba(33, 33, 33, 0.2);
}

/* LAYOUT & DEFAULTS */
.container.grid-container {
  width: 100%;
}
.site-footer {
  margin-top: auto;
}

a {
  transition: var(--general-transition);
  text-decoration-color: var(--contrast-3);
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.3em;
}
a:hover,
a:focus,
a:active {
  text-decoration: none;
  text-decoration-color: var(--contrast-3);
}

.red-bg a {
  text-decoration-color: #fff;
}

*:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

::-moz-selection {
  background: var(--contrast);
  color: #fff;
  -webkit-text-fill-color: #fff;
  text-shadow: none;
}

::selection {
  background: var(--contrast);
  color: #fff;
  -webkit-text-fill-color: #fff;
  text-shadow: none;
}

ul,
ol {
  margin-left: 1em;
}

.content-list li {
  margin-bottom: 8px;
}

li::marker {
  color: var(--contrast-2);
  font-size: 1.4em;
}

.general-transition {
  transition: var(--general-transition);
}

.gb-button .anww-external-link-icon {
  display: none;
}

/* HEADING STYLES
------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  text-decoration: none;
}

.site-main > article {
  margin-bottom: 0;
}

.entry-header {
  background: var(--base-2) url("/wp-content/uploads/hops-illustration-title.png") no-repeat 120% 115%;
}

.entry-header .entry-title {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem 20px;
}

@media (min-width: 768px) {
  .entry-header {
    background-position: 102% 115%;
  }

  .entry-header .entry-title {
    padding: 3.5rem 20px;
  }
}

.search .entry-header,
.search .page-header {
  display: none;
}

/* AGE GATE
------------------------------------------------------- */
.age-gate form {
  border: 1px solid var(--base);
  padding: 2em;
}

.age-gate__heading img {
  max-width: 225px;
}

p.age-gate__challenge {
  font-family: Cavalcade;
  text-transform: uppercase;
  font-size: 2.5rem;
  line-height: 1.1em;
  text-transform: uppercase;
  margin-bottom: 35px;
}

button.age-gate__submit--yes,
button.age-gate__submit--no {
  border-radius: 50px;
  font-family: Metropolis;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 12px 40px;
  text-transform: uppercase;
  transition: var(--general-transition);
}

button.age-gate__submit--yes,
button.age-gate__submit--no:hover {
  color: var(--base-3);
  background-color: var(--contrast);
  border: 1px solid var(--contrast);
}

button.age-gate__submit--no,
button.age-gate__submit--yes:hover {
  color: var(--contrast);
  background-color: var(--base-3);
  border: 1px solid var(--contrast);
}

/* HEADER AND NAVIGATION
------------------------------------------------------- */

.site-header {
  border-bottom: 3px solid var(--accent);
  z-index: 99;
}

.inside-header {
  position: relative;
}

.site-logo {
  position: absolute;
  top: -20px;
}

.site-logo a {
  display: block;
}

@media (max-width: 993px) {
  .site-logo {
    width: 45%;
  }
}

@media (max-width: 650px) {
  .site-logo {
    top: -5px;
  }
}
@media (max-width: 500px) {
  .site-logo {
    width: 48%;
  }
}

.secondary-navigation {
  border-bottom: 1px solid rgba(134, 117, 77, 0.5);
}

.secondary-navigation .menu-toggle {
  display: none;
}

.secondary-navigation .menu-bar-item {
  order: 50;
}
.secondary-navigation .gp-icon.icon-search {
  font-size: 16px;
}
.secondary-navigation .gp-icon.icon-search svg {
  color: #fff;
  height: 1.1em;
  width: 1.1em;
  top: 0.85em;
}

.secondary-navigation .mobile-top-nav li a {
  border: none;
  font-family: Metropolis;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 3.4;
  padding-left: 12px;
  padding-right: 12px;
  text-decoration: none;
}

.slideout-navigation {
  background-color: var(--contrast);
}

.slideout-navigation button.slideout-exit {
  font-size: 1.25rem;
  position: relative;
  top: 5px;
  left: 5px;
}

/* Mobile Navigation */
@media (max-width: 993px) {
  .secondary-navigation .main-nav {
    display: none;
  }
  .inside-navigation a:focus,
  .inside-navigation button:focus {
    outline-offset: -2px;
  }
}

@media (max-width: 768px) {
  .main-navigation.toggled .main-nav {
    margin-top: 40px;
  }

  .main-navigation.toggled .main-nav li:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }

  .inside-header {
    padding: 15px;
  }
  .main-navigation .menu-toggle {
    line-height: 60px;
    padding-right: 0;
  }
  .menu-toggle .gp-icon + .mobile-menu {
    position: relative;
    top: -2px;
  }

  .secondary-navigation {
    text-align: center !important;
  }

  .secondary-navigation .sf-menu > li {
    float: none;
    display: inline-block !important;
  }
  .secondary-navigation .main-nav ul.secondary-menu li a {
    padding-left: 10px;
    padding-right: 10px;
  }

  .main-navigation.toggled .main-nav {
    margin-top: 25px;
  }
}

/* CONTENT
------------------------------------------------------- */
/* Homepage */
.home-gallery a {
  text-decoration: none;
}

@media (max-width: 1150px) {
  .gb-grid-wrapper.scrollable {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .gb-grid-wrapper.scrollable .gb-grid-column {
    flex: 1 0 33%;
    scroll-snap-align: start;
  }
}

@media (max-width: 767px) {
  .gb-grid-wrapper.scrollable .gb-grid-column {
    flex: 1 0 50%;
  }
}

@media (max-width: 480px) {
  .gb-grid-wrapper.scrollable .gb-grid-column a {
    padding-top: 75px;
  }
}
@media (max-width: 380px) {
  .gb-grid-wrapper.scrollable .gb-grid-column a {
    padding-top: 50px;
  }
}

@media (max-width: 610px) {
  .home-gallery.gb-grid-wrapper > .gb-grid-column {
    width: 100%;
  }
  .home-gallery .gb-container-68ce5901 {
    min-height: 300px;
  }
}

/* Visit Page */
.has-no-post-message .gb-query-loop-wrapper:not(:empty) + .no-post-message {
  display: none;
}

/* Error Page */
.error404 .entry-content,
.search-no-results .entry-content {
  text-align: center;
  margin: 4rem 20px;
}

.error404 .search-form,
.search-no-results .search-form {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  column-gap: 10px;
}

.error404 .search-form label,
.search-no-results .search-form label {
  flex: 1 1 0;
}

.error404 input[type="search"],
.search-no-results input[type="search"] {
  width: 100%;
}

@media (min-width: 768px) {
  .error404 .entry-content,
  .search-no-results .entry-content {
    margin: 5rem 20px;
    min-height: 10em;
  }

  .error404 .search-form,
  .search-no-results .search-form {
    width: 40%;
  }
}

.content-nav {
  list-style: none;
  margin: 0;
  line-height: 2;
}
.content-nav li {
  display: inline-block;
  margin-right: 8px;
}

.content-nav a {
  color: #fff;
  font: 600 1rem "Metropolis", Helvetica, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}

.content-nav a:hover,
.content-nav a:active {
  color: #fff;
  opacity: 0.8;
}

@media (min-width: 769px) {
  .content-nav li {
    margin-right: 20px;
  }

  .sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 100;
  }

  .admin-bar .sticky {
    top: 32px;
  }
}

/* Beer and Soda */
.beer-details::after {
  content: "";
  background: radial-gradient(circle, rgba(255, 255, 255, 0.6) 10%, rgba(255, 255, 255, 0.4) 100%);
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
}

.post-type-archive-beer .beverage-image,
.post-type-archive-soda .beverage-image,
.related-bev .beer img,
.related-bev .soda img,
.beer-tabs .beer img,
.beer-tabs .soda img {
  transition: var(--general-transition);
}

.post-type-archive-beer .beer a,
.post-type-archive-soda .soda a,
.related-bev .soda a,
.related-bev .beer a,
.beer-tabs .beer a,
.beer-tabs .soda a {
  text-decoration: none;
}

.post-type-archive-beer a:hover .beverage-image,
.post-type-archive-soda a:hover .beverage-image {
  transform: translateY(-8%);
}

.related-bev .soda:nth-child(odd) a:hover img,
.related-bev .beer:nth-child(odd) a:hover img,
.beer-tabs .soda:nth-child(odd) a:hover img,
.beer-tabs .beer:nth-child(odd) a:hover img {
  transform: rotate(4deg);
}
.related-bev .soda:nth-child(even) a:hover img,
.related-bev .beer:nth-child(even) a:hover img,
.beer-tabs .soda:nth-child(even) a:hover img,
.beer-tabs .beer:nth-child(even) a:hover img {
  transform: rotate(-4deg);
}

.post-type-archive-beer .wpgb-facet fieldset:last-child,
.post-type-archive-beer .wpgb-facet > fieldset:last-child {
  margin-bottom: 0;
}

.beer-meta .gb-headline-text:not(:last-child):after {
  content: "|";
  margin-left: 9px;
}

.award-icon.gb-icon {
  width: 2em;
  height: 2em;
}

/* nutrition icon  */
div.gb-headline-a5b9b241 .gb-icon svg {
  width: 2em;
}

.award-count {
  display: flex;
  align-items: center;
  column-gap: 0.5em;
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  .gb-container-3ef77822 {
    background-position: 0 18% !important;
  }
}

/* Award Page */
.award-list {
  line-height: 1.4;
}
.award-list .award-name {
  font-weight: 500;
}

/* Gallery */
@media (max-width: 992px) {
  .happyfiles-gallery > ul[data-col="4"].no-crop {
    column-count: 3 !important;
  }
}

@media (max-width: 768px) {
  .happyfiles-gallery > ul[data-col="4"].no-crop {
    column-count: 2 !important;
  }
}

/* History */
.history-timeline img {
  border: 1px solid var(--accent);
}

@media (max-width: 1200px) {
  .history-timeline .qi-block-timeline.qodef-point--diamond.qodef-timeline--vertical .qodef-e-point-holder::after,
  .history-timeline .qi-block-timeline.qodef-point--diamond.qodef-timeline--vertical .qodef-e-point-holder::before {
    width: 40px;
  }
}

/* Password-Protected Posts */
.post-password-form {
  max-width: 1400px;
  margin: 0 auto;
  padding: 4em 20px;
  text-align: center;
}

.post-password-form input[type="submit"] {
  border: 1px solid var(--contrast);
  padding: 11px 30px;
  margin-left: 3px;
  vertical-align: top;
}
.post-password-form input[type="submit"]:hover {
  background-color: #fff;
  color: var(--contrast);
}

/* Privacy Policy */
.privacy-policy #policy .accordion-content {
  display: block !important;
}
.privacy-policy h2 {
  font-size: 2rem;
}
.privacy-policy h3 {
  font-size: 1.4rem;
}
.privacy-policy h4 {
  font-family: Metropolis;
  font-weight: 600;
  font-size: 1.2rem;
}

/* Popups */
.custom-popup {
  background: #fff;
}
.custom-popup a:hover,
.custom-popup a:active {
  color: var(--contrast);
}
.custom-popup .gb-headline {
  text-align: center;
}

.custom-popup > .gb-container {
  background: #fff;
  border: 1px solid var(--base);
  padding: 2em;
  margin: 30px;
}

.pum-theme-content-only .pum-content .custom-popup {
  color: var(--contrast);
}

.custom-popup .privacy-note {
  font: 500 0.95rem Metropolis, Helvetica, sans-serif;
}

.pum-container .pum-content .custom-popup {
  padding-top: 1px;
  padding-bottom: 1px;
}

.pum-theme-content-only .pum-container .pum-content + .pum-close {
  font-size: 35px;
  height: 24px;
  right: 2px;
  top: 2px;
}

/* Email Popup */
.sib_signup_box_inside_1 {
  display: flex;
  flex-direction: column;
  margin: 10px auto 20px;
}

p.sib-email-area,
p.sib-name-area {
  display: flex;
  flex-direction: column;
  margin-bottom: 1em;
}
p.sib-email-area label,
p.sib-name-area label {
  font-weight: 500;
  padding-bottom: 4px;
}

input[type="submit"].sib-default-btn {
  border: 1px solid var(--contrast);
  border-radius: 50px;
}
input[type="submit"].sib-default-btn:hover {
  background-color: #fff;
  color: var(--contrast);
}

.asterisk {
  color: #cc1818;
}

/* TABLE
------------------------------------------------------- */
.table {
  width: 100%;
  overflow-x: scroll;
}

.table table {
  background: none;
  border: none;
  border-collapse: collapse;
  color: var(--contrast);
  font-family: Metropolis, sans-serif;
  font-size: 0.95em;
}

.table table tbody tr {
  transition: background 0.2s ease-in-out;
}

.table table tr td:first-child {
  font-weight: 600;
  text-transform: uppercase;
}

.avail-circle {
  background: #063674;
  border-radius: 50%;
  height: 12px;
  width: 12px;
  margin: 0 auto;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Release Table */
.release-table thead th {
  background: var(--contrast);
  color: #fff;
}

.release-table thead th:first-child {
  background: none;
  color: var(--contrast);
  font-size: 1rem;
}

.release-table th,
.release-table td {
  border-bottom: 1px solid rgba(134, 117, 77, 0.5);
  border-right: none;
  padding: 0.75em 1em;
  text-align: center;
}

.release-table tr > th:first-child {
  text-align: right;
  padding: 0.75em 0.75em 0.75em 0;
  min-width: 250px;
}

.release-table tbody td:nth-child(even) {
  background: #f3eee3;
}

/* Hours Table */
.hours-table table {
  border: none;
  color: #fff;
  margin: 0;
}

.hours-table thead,
.hours-table tr {
  border-bottom: none;
}

.hours-table td,
.hours-table th {
  border: none;
  padding: 0.5em;
  text-align: center;
  text-transform: uppercase;
}

/* Responsive Styles */
@media screen and (max-width: 600px) {
  .table {
    width: 100%;
  }

  .table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .table tr {
    display: block;
    margin-bottom: 0.625em;
  }

  .table tr > th:first-child {
    font-size: 1rem;
    min-width: 100%;
    text-align: center;
  }

  .table td {
    height: 35px;
  }

  .table td,
  .table th {
    border-bottom: none;
    display: block;
  }

  .release-table td::before {
    content: attr(data-label);
    font-weight: 600;
    float: left;
    margin-top: -7px;
  }

  .release-table tr > th:first-child {
    text-align: left;
  }

  .hours-table td,
  .hours-table th {
    padding: 0.5em;
  }

  .hours-table td::before {
    content: attr(data-label);
    font-weight: 600;
    margin-right: 15px;
  }
}

/* GRIDBUILDER
------------------------------------------------------- */
.wpgb-facet .wpgb-facet-title {
  margin-bottom: 8px !important;
}

.wpgb-facet select.wpgb-select,
.wpgb-facet .wpgb-select:hover {
  background: #fff !important;
  border-color: var(--base) !important;
}

.wpgb-facet .wpgb-select-facet .wpgb-select-controls {
  color: var(--contrast);
}

.wpgb-facet .wpgb-select:focus {
  border-color: var(--accent) !important;
}

@media (min-width: 768px) {
  .wpgb-facet select.wpgb-select {
    min-width: 200px;
  }
}

.wpgb-facet select.wpgb-select,
.wpgb-facet .wpgb-search-facet input[type="search"],
.wpgb-facet .wpgb-autocomplete-facet input[type="search"] {
  font: 500 15px Metropolis, Helvetica, sans-serif !important;
}

/* WOOCOMMERCE
------------------------------------------------------- */

.woocommerce .woocommerce-breadcrumb {
  color: var(--contrast);
  font: 600 1rem/1.8 Metropolis, Helvetica, sans-serif;
  text-transform: uppercase;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--contrast);
}

.woocommerce .woocommerce-archive-wrapper {
  margin: 1em auto 4em !important;
}

.inside-article .woocommerce {
  max-width: 1400px;
  margin: 2em auto 5em;
}

/* Shop Page */
.post-type-archive-product .woocommerce-products-header {
  display: none;
}

.post-type-archive-product .woocommerce-archive-wrapper {
  margin: 3em auto 4em !important;
}

.post-type-archive-product .woocommerce-breadcrumb {
  display: none;
}

.post-type-archive-product .product-category .count {
  display: none;
}

.post-type-archive-product.woocommerce ul.products {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 25px;
}

.post-type-archive-product.woocommerce ul.products li.product .inside-wc-product-image {
  overflow: hidden;
}
.post-type-archive-product.woocommerce ul.products li.product .inside-wc-product-image::after {
  content: "";
  background-image: linear-gradient(180deg, rgba(33, 30, 31, 0.1) 50%, rgba(33, 30, 31, 0.7));
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.post-type-archive-product.woocommerce ul.products li.product a img {
  transition: var(--general-transition);
}
.post-type-archive-product.woocommerce ul.products li.product a:hover img {
  transform: scale(1.25);
}

.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-category__title {
  color: #fff;
  font-size: 1.75rem;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.post-type-archive-product .inside-wc-product-image {
  display: block;
}

@media (min-width: 675px) {
  .shop-banner {
    background-position: top -85px center;
  }
}

@media (min-width: 993px) {
  .post-type-archive-product.woocommerce ul.products {
    grid-gap: 50px;
  }

  .shop-banner {
    background-position: top -120px center;
  }
}

@media (min-width: 1300px) {
  .shop-banner {
    background-position: top -165px center;
  }
}

/* Category Archive page */
.wc-block-product-categories-list-item a,
.cat-list a {
  font: 500 1rem Metropolis, Helvetica, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}
.wc-block-product-categories-list-item a:hover,
.cat-list a:hover {
  color: var(--contrast);
  text-decoration: underline;
  text-decoration-color: var(--contrast-3);
}
.wc-block-product-categories-list-item a:active,
.wc-block-product-categories-list-item a:focus,
.cat-list a:active,
.cat-list a:focus {
  color: var(--contrast);
}

.widget ul.cat-list li {
  margin-bottom: 0;
}

.widget ul.cat-list li ul {
  margin-top: 0;
}

.cat-list a {
  display: block;
  padding: 8px 0;
}
.current-cat a:active,
.current-cat a:focus {
  color: var(--contrast);
}

.current-cat > a {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--contrast-2);
}

/* hide Size facet title on certain pages */
.term-clearance .gb-headline-aedc84b0,
.term-glassware .gb-headline-aedc84b0,
.term-hats .gb-headline-aedc84b0 {
  display: none;
}

/* Sold out badge */
.product.outofstock:before {
  content: "SOLD OUT";
  color: #ffffff;
  background: var(--contrast-2);
  font: 600 0.9rem Metropolis, Helvetica, sans-serif;
  padding: 5px;
  width: auto;
  height: auto;
  border-radius: 0;
  z-index: 9999;
  text-align: center;
  position: absolute;
  top: 6px;
  right: auto;
  bottom: auto;
  left: 6px;
}

.woocommerce .wc-columns-container ul.products {
  row-gap: 75px;
}

.wc-columns-container .woocommerce-ordering select {
  font: 500 15px Metropolis, Helvetica, sans-serif;
}
.wc-columns-container .woocommerce-ordering::after {
  top: 6px;
}

.woocommerce-result-count {
  font: 1rem Metropolis, Helvetica, sans-serif !important;
}

.woocommerce ul.products li.product .price .amount,
.wc-block-grid .wc-block-grid__product .woocommerce-Price-amount.amount {
  font: 500 1.375rem Metropolis, Helvetica, sans-serif;
}

.woocommerce ul.products li.product .button {
  margin-top: 1.5em;
  border-radius: 25px;
  border: 2px solid var(--contrast);
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border: 2px solid var(--contrast);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  color: var(--contrast);
  background-color: #fff;
}

.woocommerce .button.wc-forward:hover {
  background-color: transparent;
  text-decoration: underline;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: #fff;
  color: var(--contrast);
  padding: 0.75em 1.2em;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--contrast);
  color: #fff;
  font-weight: 600;
}

.woocommerce div.product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n + 1) {
  clear: none;
}

@media (max-width: 768px) {
  /* move sidebar above content */
  .left-sidebar .site-content {
    display: flex;
    flex-direction: column-reverse;
  }

  .left-sidebar .widget-area.is-left-sidebar {
    margin-bottom: 40px;
  }

  .left-sidebar .widget-area .widget {
    padding: 0;
  }

  /* switch lables on off toggle */
  #side-toggle:checked + label span:nth-child(1),
  #side-toggle:not(:checked) + label span:nth-child(2) {
    display: none;
  }
  /* remove all content after label on check */
  #side-toggle:not(:checked) + label ~ * {
    display: none;
  }
  /* hide input checkbox */
  #side-toggle {
    position: absolute;
    visibility: hidden;
    opacity: 0;
  }
  /* style label to look like a button */
  #side-toggle + label {
    cursor: pointer;
    display: block;
    padding: 12px 10px;
    border: 2px solid var(--contrast);
    line-height: 1;
    text-align: center;
    border-radius: 4px;
    background-color: #fff;
    font: 600 0.9rem Metropolis, sans-serif;
    text-transform: uppercase;
    transition: var(--general-transition);
  }

  #side-toggle + label:hover {
    background-color: var(--contrast);
    color: #fff;
  }
}

/* Hide toggle on desktop */
@media (min-width: 769px) {
  #side-toggle,
  #side-toggle + label {
    display: none !important;
  }

  .left-sidebar .widget-area .widget {
    padding: 0 25px 0 0;
  }
}

@media (min-width: 1025px) {
  .left-sidebar .widget-area .widget {
    padding: 0 40px 0 0;
  }
}

/* Product page */
.woocommerce article.product {
  margin: 1em 0 5em !important;
}

.woocommerce article.product .woocommerce-breadcrumb {
  margin-bottom: 2em;
}

.woocommerce div.product .product_title {
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.woocommerce div.product p.price .amount {
  font: 500 1.75rem Metropolis, Helvetica, sans-serif;
}

.cfvsw-label-option {
  font-family: Metropolis, Helvetica, sans-serif;
  font-weight: 500;
}

.woocommerce div.product .single_add_to_cart_button.button.alt {
  border-radius: 25px;
  margin: 40px 0 0;
  width: 100%;
}

@media (min-width: 480px) {
  .woocommerce div.product .single_add_to_cart_button.button.alt {
    margin: 0 0 0 20px;
    width: auto;
  }
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled {
  padding: 10px 20px;
}
.cfvsw-swatches-blur-disable::before,
.cfvsw-swatches-blur::before {
  opacity: 0.6;
}

.woocommerce div.product div.images img {
  border: 1px solid var(--base);
}
.woocommerce div.product div.images .flex-control-nav.flex-control-thumbs li {
  padding-top: 15px;
  margin-right: 15px;
}

.related.products {
  padding-top: 5em;
}
.related.products > h2 {
  border-bottom: 1px solid var(--base);
  padding-bottom: 20px;
}

.woocommerce div.product p.stock {
  font-size: 1.1rem;
  font-family: Metropolis;
  font-weight: 700;
}
.woocommerce div.product .stock {
  color: var(--contrast);
}

.woocommerce-product-details__short-description + .cart {
  margin-top: 50px;
}

div.gb-headline-89a76b83 {
  flex-direction: row;
  column-gap: 6px;
}

.woocommerce-variation-price {
  margin-bottom: 15px;
}

/* Cart page */
.wc-block-cart-item__product .wc-block-components-product-name {
  font: 500 1.25em Metropolis, Helvetica, sans-serif;
  margin-bottom: 5px;
  text-decoration: none;
  text-decoration-color: var(--contrast-3);
}
.wc-block-cart-item__product .wc-block-components-product-name:hover {
  text-decoration: underline;
  text-decoration-color: var(--contrast-3);
}

.wc-block-cart-item__image a {
  display: block;
}

.wc-block-components-product-price,
.wc-block-components-totals-item__value {
  font-family: Metropolis, Helvetica, sans-serif;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  font-weight: 500;
}

.wc-block-cart-item__product .wc-block-components-product-metadata,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  font-size: 0.9rem;
}

.wc-block-checkout__form .wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description,
.wc-block-checkout__form .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description {
  color: var(--contrast);
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon .wc-block-components-panel__button:active,
.wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  font: 600 0.9rem Metropolis, Helvetica, sans-serif;
  text-transform: uppercase;
}
.wc-block-components-panel__content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
  align-self: flex-end;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"] {
  padding: 0.5em;
  line-height: 2em;
}

body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
  background: var(--contrast);
  border: 2px solid var(--contrast);
  color: #fff !important;
  font: 600 0.9rem Metropolis, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: var(--general-transition);
}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):active,
.wc-block-components-button.wc-block-checkout__shipping-method-option--selected {
  background: #fff;
  color: var(--contrast) !important;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link)
  .wc-block-checkout__shipping-method-option--selected
  .wc-block-checkout__sidebar
  .wc-block-components-totals-shipping
  .wc-block-components-shipping-address,
.wc-block-components-sidebar .wc-block-components-totals-shipping .wc-block-components-shipping-address,
.wc-block-checkout__sidebar .wc-block-components-totals-item__description,
.wc-block-components-sidebar .wc-block-components-totals-item__description {
  margin-top: 5px;
}

.wc-block-components-panel__content .wc-block-components-validation-error {
  color: var(--contrast-2);
  font: 500 0.9rem Metropolis, Helvetica, sans-serif;
  margin-top: 5px;
}

/* Empty Cart */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wc-block-grid__product-title {
  font-family: Bebas Neue;
  font-size: 1.75rem;
  font-weight: 400;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wc-block-grid__product-link {
  text-decoration: none;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
  border: 2px solid var(--contrast);
  padding: 10px 20px;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover {
  background: #fff;
  color: var(--contrast);
}

/* Checkout page */
.wc-block-components-title.wc-block-components-title,
.wc-block-checkout__sidebar .wc-block-components-product-name {
  font-family: Metropolis, Helvetica, sans-serif;
  font-weight: 500;
}
.wc-block-checkout__sidebar .wc-block-components-product-name {
  font-size: 1.1rem;
}

.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
  display: none;
}
.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
  padding-left: 0;
}

.wp-block-woocommerce-checkout-fields-block .wc-block-components-form .wc-block-components-text-input label,
.wp-block-woocommerce-checkout-fields-block .wc-block-components-text-input label {
  font: 500 1rem Metropolis, Helvetica, sans-serif;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button:active,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button:focus,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button:hover {
  font: 600 0.9rem Metropolis, Helvetica, sans-serif;
  text-transform: uppercase;
}

.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="number"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="url"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="email"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="number"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="tel"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="text"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="url"] {
  border: 1px solid rgba(34, 31, 32, 1);
  border-radius: 0;
}

/* error states */
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input:active,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input:hover,
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input,
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input:active,
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input:focus,
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input:hover,
.wc-block-components-text-input .wc-block-components-form .wc-block-components-text-input.has-error label,
.wc-block-components-text-input .wc-block-components-text-input.has-error label {
  color: var(--contrast-2);
}

.wc-block-components-text-input .wc-block-components-validation-error {
  color: var(--contrast-2);
  font: 500 0.9rem Metropolis, Helvetica, sans-serif;
}

/* DISTRIBUTOR PAGES
------------------------------------------------------- */

/* Graphics Page */
.graphics-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2em 20px 6em;
}

.graphics-container .grid {
  display: grid;
  grid-template-columns: repeat(20, 1fr);
  grid-row-gap: 25px;
}

.graphics-container .grid .photo-tile {
  grid-column: span 20;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 600px) {
  .graphics-container .grid {
    grid-gap: 25px;
  }
  .graphics-container .grid .photo-tile {
    grid-column: span 10;
  }
}

@media (min-width: 768px) {
  .graphics-container .filters {
    max-width: 50%;
  }
}

@media (min-width: 994px) {
  .graphics-container .filters {
    max-width: 30%;
  }

  .graphics-container .grid .photo-tile {
    grid-column: span 5;
  }
}

@media (min-width: 1300px) {
  .graphics-container .grid .photo-tile {
    grid-column: span 4;
  }
}

.photo-tile {
  border: 1px solid var(--base);
  text-align: center;
}

.photo-tile a .anww-external-link-icon,
.sbi_photo .anww-external-link-icon,
a > img + .anww-external-link-icon {
  display: none;
}

.photo-tile img {
  padding: 8px;
}

.photo-tile .links {
  background: var(--contrast);
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: -2px;
}
.photo-tile .links a:first-child {
  border-right: 1px solid rgba(255, 255, 255, 0.25);
}
.photo-tile .links a {
  color: #fff;
  flex: 1 0 50%;
  font: 600 0.9rem Metropolis, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  padding: 15px 5px;
  text-decoration: none;
  text-transform: uppercase;
  transition: var(--general-transition);
}
.photo-tile .links a:hover,
.photo-tile .links a:active {
  background: var(--contrast-2);
}

/* FLUENT FORMS
------------------------------------------------------- */
.fluentform .custom-form .ff-el-input--label label {
  font-family: Metropolis, Helvetica, sans-serif;
  font-size: 0.9rem;
  text-transform: uppercase;
  font-weight: 600;
}

.fluentform .custom-form .ff-el-form-control:focus {
  box-shadow: 0 0 0 1px var(--contrast);
  color: #2b2d2f;
  outline: 0;
}
.fluentform .custom-form input[type="checkbox"]:focus {
  outline-color: var(--contrast);
}

.fluentform .custom-form .ff-el-is-error .ff-el-form-control {
  border-color: #b40628;
}
.fluentform .custom-form .text-danger,
.fluentform .custom-form .ff-el-is-error .text-danger {
  color: #b40628;
  font-size: 0.9rem;
}
.fluentform .custom-form .ff-el-is-error .ff-el-form-check-label,
.fluentform .custom-form .ff-el-is-error .ff-el-form-check-label a {
  color: #b40628;
}

.ff-default .custom-form .ff_btn_style:hover {
  opacity: 1;
}

.ff-default .ff-message-success {
  border: 1px solid var(--accent);
  box-shadow: none;
}
.ff-default .ff-message-success p {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .fluentform_wrapper_3.ffs_custom_wrap .custom-form .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style) {
    width: 100%;
  }
}

/* FOOTER
------------------------------------------------------- */

.site-footer .contact-info a {
  text-decoration: none;
}

.site-footer .contact-info .anww-external-link-icon {
  display: none;
}

.site-footer .contact-info .gb-headline-text:not(:last-child):after {
  content: "";
}

.footer-nav {
  list-style: none;
  margin-left: 0;
}

.footer-nav a {
  display: block;
  font-weight: 500;
  text-decoration: none;
  text-decoration-color: var(--contrast-3);
  padding: 2px 0;
}
.footer-nav a:hover {
  text-decoration: underline;
  text-decoration-color: var(--contrast-3);
}

.legal-nav {
  list-style: none;
  margin: 0;
}
.legal-nav li {
  display: inline-block;
}
.legal-nav a {
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 12px 8px;
  /* text-decoration-color: rgba(255,255,255, 0.5); */
}
.legal-nav a:hover {
  color: #fff;
}

@media (max-width: 767px) {
  .footer-nav a {
    padding: 4px 0;
  }

  .legal-nav {
    text-align: center;
  }

  .legal-nav a {
    padding: 8px 4px;
  }
}

@media (min-width: 768px) {
  .site-footer .contact-info .gb-headline-text:not(:last-child):after {
    content: "|";
    padding: 0 6px 0 15px;
  }
}

/* UTILITY CLASSES
------------------------------------------------------- */
.sr-only,
.svg-icon .gb-button-text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

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

.fancy-amp {
  font-family: Baskerville, serif;
  font-style: italic;
}

ul.no-bullets {
  list-style: none;
  padding-left: 0;
}

/* FONTS
------------------------------------------------------- */
/* Bebas Neue Regular */
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/BebasNeue/bebas-neue.woff2") format("woff2");
}

/* Cavalcade */
@font-face {
  font-family: "Cavalcade";
  src: url("assets/fonts/Cavalcade/Cavalcade-Regular.woff2") format("woff2"), url("assets/fonts/Cavalcade/Cavalcade-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Cavalcade Roughen";
  src: url("assets/fonts/Cavalcade/Cavalcade-Roughen.woff2") format("woff2"), url("assets/fonts/Cavalcade/Cavalcade-Roughen.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

/* Bespoke Serif */
@font-face {
  font-family: "Bespoke";
  src: url("assets/fonts/Bespoke/BespokeSerif-Variable.woff2") format("woff2");
  font-weight: 300 800;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Bespoke";
  src: url("assets/fonts/Bespoke/BespokeSerif-VariableItalic.woff2") format("woff2");
  font-weight: 300 800;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "Metropolis";
  src: url("assets/fonts/Metropolis/Metropolis-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Metropolis";
  src: url("assets/fonts/Metropolis/Metropolis-RegularItalic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
}
@font-face {
  font-family: "Metropolis";
  src: url("assets/fonts/Metropolis/Metropolis-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Metropolis";
  src: url("assets/fonts/Metropolis/Metropolis-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "Metropolis";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/Metropolis/Metropolis-Bold.woff2") format("woff2");
}
