@font-face {
  font-family: 'ReynaScript';
  src: url('/fonts/ReynaScript.woff2') format('woff2'),
       url('/fonts/ReynaScript.woff') format('woff'),
       url('/fonts/ReynaScript.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/****************/
/* BisQuick 0.3 */
/****************/

/* Variables / Custom Properties */
:root {

  /* Font Stacks */
  --font--primary:     canada-type-gibson, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; 
  --font--secondary:   'ReynaScript', Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; 

  /*  Brand Colours*/
  --primary:     #7F8942;
  --primary-800: #464B24;
  --primary-900: #353A1C;
  --primary-50:  #F2F3EC;
  --primary-100: #D7DAC4;
  --primary-200: #C4C9A8;
  
  --secondary:     #BF6F43;
  --secondary-50:  #F9F1EC;
  --secondary-100: #EBD2C4;
  
  --accent:     #98BC4C;
  --accent-50:  #F5F8ED;
  --accent-100: #D7DAC4;
  --accent-800: #54672A;
  
  --action:             var(--secondary);
  --action--hover:      var(--primary);
  --base:               #1E1E1E;
  --white:              #fff;
  --white-700:          #B5B5B5;
  --white-600:          #E8E8E8;
  
  --light-white:        rgba(255,255,255,.95);
  --light:              #F5F7FA;
  --xmedium:            #B4B8B9;
  --medium:             #4f4f4f;
  
  --border--lighter:      #EAEAEA;
  --border--light:        #DFDFDF;
  
  /* Overrides */
  --text--dark:  var(--base);
  --text--light: var(--light);
  --price:       var(--primary);
  --sale:        var(--secondary);
  --sku:         var(--base);
  --success:     #464b24;
  --warning:     #C0392B;
  --caution:     #BF6F43;

  /* Dimensions and Spacing */
  
  --container: 1320px;
  
  --text-medium: 500;
  --text--bold:  700;
  --text--xbold: 800;
  
  --text--xs:  12px;
  --text--s:   14px;
  --text--m:   clamp(0.875rem, calc(0.875rem + ((1vw - 0.3rem) * 0.4167)), 1rem); /* 14-16px */
  --text--xm:  clamp(1rem, calc(1rem + ((1vw - 0.3rem) * 0.5556)), 1.25rem); /* 16-20px */
  --text--l:   24px;
  --text--xl:  28px;
  --text--2xl: 32px;
  --text--3xl: 40px;
  
  --gap:      2rem;
  --gap--xxs: calc(var(--gap) / 8 );
  --gap--xs:  calc(var(--gap) / 4 );
  --gap--s:   calc(var(--gap) / 2 );
  --gap--m:   calc(var(--gap) / 1.25 );
  --gap--xm:   calc(var(--gap) * 1.5 );
  --gap--l:   calc(var(--gap) * 2 );
  
  --pad--xs:    calc(var(--gap) / 4 );
  --pad--s:     calc(var(--gap) / 2 );
  --pad--m:          var(--gap);
  --pad--l:     calc(var(--gap) * 2 );
  --pad--xl:    calc(var(--gap) * 4 );

  --margin--xs:    calc(var(--gap) / 4 );
  --margin--s:     calc(var(--gap) / 2 );
  --margin--m:          var(--gap);
  --margin--l:     calc(var(--gap) * 2 );
  --margin--xl:    calc(var(--gap) * 4 );
  
  /* Flair */
  --rounded:            40px;
  --rounded--s:         calc(var(--rounded) / 2);
  --pill:               32px;
  --text-shadow:        0px 0px 8px rgba(35, 31, 32, 0.7);
  --box-shadow:         0px 2px 5px 0px rgba(126, 137, 66, 0.05), 0px 10px 10px 0px rgba(126, 137, 66, 0.04), 0px 22px 13px 0px rgba(126, 137, 66, 0.03), 0px 39px 16px 0px rgba(126, 137, 66, 0.01), 0px 61px 17px 0px rgba(126, 137, 66, 0.00);
  --box-shadow--light:  0px 0px 16px rgba(0, 0, 0, 0.1);
  --box-shadow--dark:   0px 0px 16px rgba(0, 0, 0, 0.25);
  --transition:      all 0.3s;
}

.box-shadow {
  box-shadow: var(--box-shadow);
}

.box-shadow--light {
  box-shadow: var(--box-shadow--light);
}

.box-shadow--dark {
  box-shadow: var(--box-shadow--dark);
}

/* Global */
* { 
  font-family: var(--font--primary);
  transition: var(--transition);
}

html {
  scroll-behavior: smooth;
  background-color: var(--primary-50);
}

section {
  width: 100%;
}

.font--secondary {
  font-family: var(--font--secondary);
}

/* main > section,
main > form > section, */
.product > form {
  padding: var(--gap) 0;
}

@media screen and (max-width: 1350px) {
  main > section,
  main > form > section,
  .product > form {
    padding: 0 var(--gap--s);
  }
  .page--account section {
    margin: 0 var(--gap--s);
  }
}

@media screen and (max-width: 406px) {
  main > section,
  main > form > section,
  .page--account section,
  .product > form {
    padding: var(--gap--xxs);
  }
  .page--account section {
    margin: 0 var(--gap--xxs);
  }
}

.container { 
  max-width: var(--container);
  margin: 0 auto;
}
.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.double-big-btn-wrap {
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: var(--gaps);
  margin-top: var(--gap--l);
}
.double-big-btn-wrap a {
  padding: 20px 40px;
  font-size: 24px;
  text-align: center;
}
.bordered-blocks div {
    height: 230px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #edf1f5;
    border-radius: 8px;
    align-items: center;
    padding: 40px;
    display: flex;
}
.bordered-blocks div img {
  margin: 0 auto;
  }
@media screen and (max-width: 576px) {
  .hide-s {
    display: none !important;
  }  
  .header-item-right .search--wrapper {
    width: calc(100% - 100px) !important;    
  }
  .header-item-right a.show-s  {
    margin-left: 16px;
    width: auto;
    min-width: unset !important;
  }
}
@media screen and (min-width: 577px) {
  .show-s {
    display: none;
  }  
}

@media screen and (max-width: 939px) {
  .hide-m {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .hide-xm {
    display: none;
  }
}

@media screen and (min-width: 938px) {
  .hide-l {
    display: none !important;
  }
}

.bg--primary {   background: var(--primary); }
.bg--secondary { background: var(--secondary); }
.bg--action {    background: var(--action); }
.bg--light {     background: var(--light); }
.bg--white {     background: #fff; }

.text--primary { color: var(--primary) !important; }
.text--secondary { color: var(--secondary) !important; }
.text--white { color: #fff; }

.text--title-case { text-transform: initial !important; }
.text--upper-case { text-transform: uppercase; }
.text--lower-case { text-transform: lowercase; }

.rounded {
  border-radius: var(--rounded);
}

nav {
  /* font-family: var(--font--secondary); */
}

fieldset {
  border: none;
  padding: 0;
}

hr {
  max-width: 230px;
  border: 3px solid var(--primary);
  margin-top: var(--gap);
  margin-bottom: var(--gap);
}

.hr--alt {
  max-width: 331px;
  border: 1px solid var(--border--light);
  margin-top: var(--gap);
  margin-bottom: var(--gap);
  margin: var(--gap--l) 0 var(--gap--l) 0;
}

/* Typography */

p, span, em, nav, li, a, select, button { 
  font-family: var(--font--primary);
  color: var(--primary-800);
  font-size: 18px;
  font-style: normal;
  font-weight: 200;
  line-height: 1.3;
}

strong,
strong a {
  font-weight: 400;
  font-size: unset;
}

.product .product--details em,
.page article em {
  font-style: italic;
}

.page article .wrapper--price em {
  font-style: unset;
}

.page article .wrapper--price em span {
  font-weight: 400;
}

h1, .h--1, h2, .h--2, h3, .h--3, h4, .h--4 { 
  font-weight: var(--text--bold);
  line-height: 1.2; 
  color: var(--base);
}
h1, h1 span, .h--1, .h--1 span { font-size: 28px; }
h2, h2 span, .h--2, .h--2 span { font-size: 28px; }
h3, h3 span, .h--3, .h--3 span { font-size: 30px; }
h4, h4 span, .h--4, .h--4 span { font-size: 20px; }

h1 span, h2 span, h3 span, h4 span {
  font-family: var(--font--primary);
}

h2 {
  color: var(--primary);
  font-size: clamp(1.875rem, calc(1.875rem + ((1vw - 0.36rem) * 1.6304)), 3rem); /* 30-48 */
  font-weight: 400;
  letter-spacing: 2.88px;
}

h3 {
  color: var(--primary);
  font-size: 24px;
  letter-spacing: 0.84px;
  text-transform: uppercase;
}

p a {
  color: var(--primary);
}

p a:hover,
p a:focus {
  color: var(--secondary);
}

.text--xs {  font-size: var(--text--xs) }
.text--s {   font-size: var(--text--s) }
.text--m {   font-size: var(--text--m) }
.text--xm {  font-size: var(--text--xm) }
.text--l {   font-size: var(--text--l) }
.text--xl {  font-size: var(--text--xl) }
.text--xxl { font-size: var(--text--xxl) }

.text--left { text-align: left !important; }
.text--center { text-align: center; }
.text--right {  text-align: right; }

.text--medium { font-weight: var(--text--medium);}
.text--bold {   font-weight: var(--text--bold);}
.text--xbold {  font-weight: var(--text--xbold);}

.flex, .flex--column, .flex--center { display: flex; }
.flex--column { flex-direction: column; }
.flex--between { justify-content: space-between; }
.flex--justify-start { justify-content: flex-start; }
.flex--justify-end { justify-content: flex-end; }

@media screen and (max-width: 938px) {
  .flex-m--column { flex-direction: column !important; } 
  .flex-m--start { align-items: flex-start !important; }
  .flex-m--end { align-items: flex-start !important; }
  .flex-m--justify-start { justify-content: flex-start; }
  .flex-m--justify-end { justify-content: flex-end; }
}

@media screen and (max-width: 765px) {
  .flex-s--column { flex-direction: column !important; } 
  .flex-s--start { align-items: flex-start !important; }
  .flex-s--end { align-items: flex-start !important; }
  .flex-s--justify-start { justify-content: flex-start; }
  .flex-s--justify-end { justify-content: flex-end; }
}

.grid {         display: grid; }
.block {        display: block !important; width: 100%;}
.inline-block { display: inline-block; }
.sticky {       position: sticky; top: 2rem;}

.v-centre, .v-center { align-items: center; } 
.h-centre, .h-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.col--2, .col--3, .col--4, .col--5, .col--1-2, .col--1-3, .col--1-4, .col--1-5, .col--2-1, .col--2-3, .col--3-1, .col--3-2, .col--4-1, .col--5-1, .col--2-1-1 { display: grid; gap: var(--gap); } 

.col--2 {   grid-template-columns: repeat(2, 1fr); }
.col--3 {   grid-template-columns: repeat(3, 1fr); }
.col--4 {   grid-template-columns: repeat(4, 1fr); }
.col--5 {   grid-template-columns: repeat(5, 1fr); }
.col--1-2 { grid-template-columns: 1fr 2fr; }
.col--1-3 { grid-template-columns: 1fr 3fr; }
.col--1-4 { grid-template-columns: 1fr 4fr; }
.col--1-5 { grid-template-columns: 1fr 5fr; }
.col--2-1 { grid-template-columns: 2fr 1fr; }
.col--2-3 { grid-template-columns: 2fr 3fr; }
.col--3-1 { grid-template-columns: 3fr 1fr; }
.col--3-2 { grid-template-columns: 3fr 2fr; }
.col--4-1 { grid-template-columns: 4fr 1fr; }
.col--5-1 { grid-template-columns: 5fr 1fr; }
.col--2-1-1 { grid-template-columns: 2fr 1fr 1fr; }

@media screen and (max-width: 938px) {
  .col-m--1 {   grid-template-columns: 1fr; }
  .col-m--2 {   grid-template-columns: repeat(2, 1fr); }
  .col-m--3 {   grid-template-columns: repeat(3, 1fr); }
  .col-m--4 {   grid-template-columns: repeat(4, 1fr); }
  .col-m--2-1 { grid-template-columns: 2fr 1fr; }
}

@media screen and (max-width: 576px) {
  .col-s--1 {   grid-template-columns: 1fr; }
  .col-s--2 {   grid-template-columns: repeat(2, 1fr); }
  .col-s--3 {   grid-template-columns: repeat(3, 1fr); }
  .col-s--4 {   grid-template-columns: repeat(4, 1fr); }
}

.gap {     gap: var(--gap); }
.gap--xs { gap: var(--gap--xs); }
.gap--s {  gap: var(--gap--s); }
.gap--m {  gap: var(--gap--m); }
.gap--l {  gap: var(--gap--l); }
.no-gap {  gap: 0; }

@media screen and (max-width: 938px) {
  .gap-m {     gap: var(--gap); }
  .gap-m--xs { gap: var(--gap--xs); }
  .gap-m--s {  gap: var(--gap--s); }
  .gap-m--m {  gap: var(--gap--m); }
  .gap-m--l {  gap: var(--gap--l); }
  .no-gap-m {  gap: 0; }  
}

@media screen and (max-width: 576px) {
  .gap-s {     gap: var(--gap); }
  .gap-s--xs { gap: var(--gap--xs); }
  .gap-s--s {  gap: var(--gap--s); }
  .gap-s--m {  gap: var(--gap--m); }
  .gap-s--l {  gap: var(--gap--l); }
  .no-gap-s {  gap: 0; }  
}

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

.margin-top--none { margin-bottom: 0; }
.margin-top--xs { margin-top: var(--margin--xs); }
.margin-top--s {  margin-top: var(--margin--s); }
.margin-top--m {  margin-top: var(--margin--m); }
.margin-top--l {  margin-top: var(--margin--l)!important; }
.margin-top--xl { margin-top: var(--margin--xl) !important; }

.margin-right--xs { margin-right: var(--margin--xs); }
.margin-right--s {  margin-right: var(--margin--s); }
.margin-right--m {  margin-right: var(--margin--m); }
.margin-right--l {  margin-right: var(--margin--l); }
.margin-right--xl { margin-right: var(--margin--xl); }

.margin-bottom--none { margin-bottom: 0; }
.margin-bottom--xs { margin-bottom: var(--margin--xs); }
.margin-bottom--s {  margin-bottom: var(--margin--s); }
.margin-bottom--m {  margin-bottom: var(--margin--m); }
.margin-bottom--l {  margin-bottom: var(--margin--l); }
.margin-bottom--xl { margin-bottom: var(--margin--xl); }

.margin-left--xs { margin-left: var(--margin--xs); }
.margin-left--s {  margin-left: var(--margin--s); }
.margin-left--m {  margin-left: var(--margin--m); }
.margin-left--l {  margin-left: var(--margin--l); }
.margin-left--xl { margin-left: var(--margin--xl); }

.no-margin-top {    margin-top: 0; }
.no-margin-bottom { margin-bottom: 0; }

.pad--xs { padding: var(--pad--xs); }
.pad--s {  padding: var(--pad--s); }
.pad--m {  padding: var(--pad--m); }
.pad--l {  padding: var(--pad--l); }
.pad--xl { padding: var(--pad--xl); }

.pad-top--none { padding-top: 0 !important; }
.pad-top--xs { padding-top: var(--pad--xs); }
.pad-top--s {  padding-top: var(--pad--s); }
.pad-top--m {  padding-top: var(--pad--m); }
.pad-top--l {  padding-top: var(--pad--l) !important; }
.pad-top--xl { padding-top: var(--pad--xl); }

.pad-bottom--xs { padding-bottom: var(--pad--xs); }
.pad-bottom--s {  padding-bottom: var(--pad--s); }
.pad-bottom--m {  padding-bottom: var(--pad--m); }
.pad-bottom--l {  padding-bottom: var(--pad--l); }
.pad-bottom--xl { padding-bottom: var(--pad--xl); }

.no-pad-top {    padding-top: 0; }
.no-pad-bottom { padding-bottom: 0; }

button,
input[type = "submit"] {
  font-family: var(--font--primary);
  border: none;
  text-align: center;
}

button:hover {
  cursor: pointer;
}

button, .button, input[type = "submit"], button span {
  display: inline-block;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 1.25px;
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
}

button, .button, input[type = "submit"] {
  padding: var(--gap--s) var(--gap--l);
}

@media only screen and (max-width: 425px) {
  button, .button, input[type = "submit"] {
    padding: var(--gap--s) var(--gap);
  }
}

button span {
  padding: var(--gap--xs) var(--gap--s);
}

@media screen and (min-width: 1170px) {
  button, .button, input[type = "submit"] {
    font-size: 22px;
  }
}

.button--cart,
.button--waitlist,
.button--wishlist {
  font-size: 18px;
}

@media screen and (min-width: 600px) {
  button, .button, input[type = "submit"] {
    font-size: 1rem;
    letter-spacing: 2.5px;
  }
}

@media screen and (min-width: 962px) {
  button, .button, input[type = "submit"] {
    font-size: 18px;
    letter-spacing: 4px;
  }
}

.button--primary {
  background: var(--primary);
  color: var(--light-white);
  border-radius: var(--rounded);
}
.button--secondary {
  background: var(--secondary);
  color: var(--light-white);
  border-radius: var(--rounded);
}
.button--script {
  background: var(--primary-50);
  font-family: var(--font--secondary);
  text-transform: lowercase;
  color: var(--primary-800);
  border-radius: var(--rounded);
  padding: var(--gap--s) var(--gap--l);
}

@media (max-width: 499px) {
  .button--script {
    padding: var(--gap--s);
  }
}

.button--primary:hover {
  background: var(--secondary);
  color: var(--light-white);
}

.button--secondary:hover,
.button--script:hover,
.button--subtle:hover,
.button--copy:hover {
  background: var(--base);
  color: var(--light-white);
}

.button--action,
input[type = "submit"] {
  background: var(--action);
  color: var(--light-white);
  border-radius: var(--rounded);
}

.button--action:hover,
input[type = "submit"]:hover {
  background: var(--primary);
  color: var(--light-white);
}

.button--subtle,
.button--copy,
.filter--toggle {
  background: var(--light);
  color: var(--base);
  border-radius: var(--rounded);
}

.button--cart,
.button--waitlist,
.button--wishlist {
  font-family: var(--font--secondary);
  text-transform: lowercase;
  font-weight: 400;
  color: #fff;
  background: var(--secondary);
  border-radius: var(--rounded);
  padding: var(--gap--s) var(--gap--s);
  letter-spacing: 1.75px;
}

.button--cart:hover,
.button--waitlist:hover,
.button--wishlist:hover {
  background: var(--primary);
}

#filters-content-wrapper .button--clear-filters {
  margin-bottom: var(--gap--s);
  font-size: 14px;
  background: var(--primary-50);
  color: var(--primary-800);
}

#filters-content-wrapper .button--clear-filters:hover {
  background: var(--primary);
  color: #fff;
}

.center--h { justify-content: center !important; }
.center--v { align-items: center; }
.center--all { place-items: center; }

/* Accessibility */
.visually-hidden,
.product .product--details label {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Header */
header {
  position: sticky;
  top: 0;
  z-index: 100;
  margin-bottom: var(--gap);
}

@media screen and (min-width: 1050px) {
  header {
    padding: 0 var(--gap--s);
  }
}

header > div {
  background: #fff;
  border-radius: 0 0 var(--rounded--s) var(--rounded--s);
  box-shadow: var(--box-shadow);
}

header section {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  align-items: center;
  padding: var(--gap--s);
}

@media screen and (min-width: 825px) {
  header section {
    display: grid;
    grid-template-columns: 1fr 4fr 1.5fr;
    padding: var(--gap--s);
  }
}
  
#header--logo {
  width: 100%;
  max-width: 200px;
}

.header--icon svg {
  width: 100%;
  height: auto;
  max-height: 42px;
  fill: var(--secondary);
}

.header--icon svg:hover {
  fill: var(--primary);
}

@media (max-width: 499px) {
  #header--logo {
    width: 80px;
    height: auto;
  }
}

.icon--mobile-nav img {
  height: 49.2px;
  margin-left: 4px;
  max-width: unset;
}

.header--icon i {
  vertical-align: middle;
}

.nav--desktop {
  display: none;
}

.nav--desktop ul,
.nav--icons ul,
.nav--categories ul,
.plant-care ul {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.nav--icons ul {
  gap: var(--gap--xs);
}

@media screen and (max-width: 640px) {
  .nav--icons ul {
    gap: var(--gap--s);
  }
}

.svg-inline--fa {
  vertical-align: 0;
}

.nav--desktop li a {
  color: var(--secondary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  text-decoration: none;
}
.nav--desktop > ul {
  margin-top: 0;
  margin-bottom: 0;
  max-height: 140px;
}
.nav--desktop > ul > li {
  display: inline-block;
  position: relative;
  line-height: 92px;
}
.nav--desktop ul ul {
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  transition: all 0.5s ease;
  margin-top: 0rem;
  top: 90px;
  left: -14px;
  display: none;  
  background-color: #fff;
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;
  min-width: 280px;
  transition: all .5s;
  overflow: hidden;
}
.nav--desktop ul ul li a {
  font-size: 16px;  
  font-weight: 500;
  padding: 14px;
  display: block;
  text-transform: uppercase;
}
.nav--desktop ul ul li a:hover {
  color: #BF6F43;
  background-color: rgba(191,111,67,.2);
}
.nav--desktop ul ul li:before {
  content: "";
  border-top: solid 1px #BF6F43;
  display: block;
  margin: 0 auto;
  width: 90%;
}
.nav--desktop ul ul li:first-child:before {
  border-top: solid 0px transparent !important;
}

.nav--desktop > ul li:hover > ul,
.nav--desktop > ul li ul:hover {
  visibility: visible;
  opacity: 1;
  display: block;
}
header nav li a:hover {
  cursor: pointer;
}
.mobile-filters-toggle {
    padding: 8px 24px;
    background: #F5F7FA;
    border-radius: 20px;
}

.button--filter {
  background: var(--secondary);
  color: #fff;
  margin-top: var(--gap--s);
}

.button--filter:hover {
  background: var(--primary);
}

.sidebar,.mobile-nav {
  position: fixed;
  width: 458px;
  height: calc(100vh - 3rem);
  top: 1.5rem;
  right: 0rem;
  background-color: #fff;
  transition: 0.7s;
  padding: 2em;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  z-index: 99999;
  box-shadow: var(--box-shadow);
}

.mobile-nav li a,
.mobile-nav li .link {
  text-transform: uppercase;
}

.mobile-filters {
  position: fixed;
  overflow-y: auto; 
  width: 458px;
  max-width: 90vw;
  height: calc(100vh - 3rem);
  top: 1.5rem;
  left: 0rem;
  background-color: #fff;
  transition: 0.7s;
  padding: 2em;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  z-index: 99999;
  box-shadow: var(--box-shadow); 
}

.mobile-filters .categories {
  padding: var(--gap--m);
}
.mobile-filters .categories a {
  text-decoration: none;
}
.sidebar.is-closed,.mobile-nav.is-closed {
  transform: translateX(29em);
}
.mobile-filters.is-closed {
  transform: translateX(-29em);
}
.modal-overlay,.mobile-overlay,.mobile-filters-overlay {
  position: fixed;
  display: block;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(127,137,66,.4);
  z-index: 99998;
}
.modal-overlay.is-closed,.mobile-overlay.is-closed,.mobile-filters-overlay.is-closed{
  display: none;
}
.sidebar h2, .mobile-nav h2, .mobile-filters h2 {
  font-size: 1.4em;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  border-bottom: solid #7F8942 1px;
}
.sidebar-close,.mobile-close, .mobile-filters-close, .floater-close {
    position: absolute;
    top: 0.8em;
    right: 1.5em;
    background-color: #BF6F43;
    color: #fff;
    display: inline-block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    padding: 0;
    line-height: 42px;
}

#accordion.accordion {
  width: 100%;
  max-width: 360px;
  margin: 30px auto 20px;
  background: #FFF;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
#accordion.accordion .top-level {
  text-decoration:  none;
  display:  block;
  padding: 15px 0;
  font-weight: 600;
}
#accordion.accordion .link {
  font-weight: 600;
  cursor: pointer;
  display: block;
  padding: 15px 0;
  position: relative;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: relative;
}
#accordion.accordion .link svg {
    position: absolute;
    right: 0;
}
#accordion.accordion li:last-child .link { border-bottom: 0; }

#accordion.accordion li i {
  position: absolute;
  top: 16px;
  left: 12px;
  font-size: 18px;
  color: #595959;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

#accordion.accordion li i.fa-chevron-down {
  right: 12px;
  left: auto;
  font-size: 16px;
}

#accordion.accordion li.open .link { color: #BF6F43; }

#accordion.accordion li.open .fa-chevron-down { color: #BF6F43; }

#accordion.accordion li.open .fa-chevron-down {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

/**
 * Submenu
 -----------------------------*/


.submenu {
  display: none;
  font-size: 14px;
  transition: none;
}
.submenu li,
.filters * {
  transition: none;
}
.submenu a {
  display: block;
  transition: none;
  text-decoration: none;
  padding: 12px;
  padding-left: 42px;
}
@media screen and (min-width: 1050px) {
  .nav--desktop li a {
    font-size: 18px;
  }
}

@media screen and (min-width: 825px) {
  .nav--desktop {
    display: block;
  }
  .icon--mobile-nav {
    display: none;
  }

}

header nav li a:hover,
header nav li a:focus {
  color: var(--primary);
}

.icon--mobile-nav a:hover img{
  color: var(--primary);
}

/* Screen Reader Text*/

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Indexes */

.index--shoppe,
.product--details {
  border-radius: var(--rounded);
  background: #fff;
  padding: var(--gap--s);
}

@media screen and (min-width: 800px) {
  .index--shoppe,
  .product--details {
    padding: var(--gap);
  }
}

.index--shoppe .products article {
  background: var(--primary-50);
}

.products,
.departments,
.blogs,
.projects,
.filters + section .products,
.products.related--products {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  margin-top: var(--gap);
}

.loading {
  color: var(--xmedium);
  text-align: center;
  margin-top: var(--gap--m);
}

@media screen and (min-width: 376px) {
  .products,
  .departments,
  .blogs,
  .projects,
  .filters + section .products,
  .products.related--products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap--s);
  }
  
  .loading {
    grid-column: 1/3;
  }
}
@media screen and (min-width: 800px) {
  .products,
  .departments,
  .filters + section .products,
  .products.related--products {
    grid-template-columns: repeat(3, 1fr);
  }  
  .loading {
    grid-column: 1/4;
  }
}
@media screen and (min-width: 800px) and (max-width: 1050px){
  .blocks--featured-products .products article:last-child {
    display: none;
  }
}

@media screen and (min-width: 1051px) {
  .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 1051px) {
  .blocks--featured-products .products {
    grid-template-columns: repeat(4, 1fr);
  }
}

.products article,
.departments article,
.blogs article {
  background: #fff;
  border-radius: var(--rounded);
}

.products article {
  position: relative;
  border-radius: var(--rounded);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.products article > div {
  width: 100%;
}

.products article .button--cart,
.products article .button--waitlist,
.products article .button--wishlist {
  display: block;
  width: 100%;
  max-width: 175px;
}

.products article .button--waitlist {
  line-height: 1.4;
}

.products article .tag {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  border-radius: 20px;
  background: var(--primary-800);
  color: var(--primary-50);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: var(--gap--xs) var(--gap--s);
}

.products article:hover {
  box-shadow: var(--box-shadow);
}

.index--shoppe .products article:hover {
  box-shadow: var(--box-shadow--dark);
}

.products article a,
.departments article a,
.product-in-cart a,
.product-in-wishlist a {
  text-decoration: none;
}

.products article a:hover h3,
.departments article a:hover h2,
.product-in-cart a:hover h3 {
  color: var(--primary);
}

.button--mobile-catalogue {
  margin-top: var(--gap);
  display: flex;
  justify-content: center;
}

.button--mobile-catalogue a {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  max-width: 500px;
  border-radius: 50px;
  background: var(--secondary-100);
  color: var(--secondary);
  padding: var(--gap--s);
  text-decoration: none;
}

.button--mobile-catalogue .fa-stack {
  font-size: 1.85rem;
}

.button--mobile-catalogue a .fa-circle {
  color: var(--secondary);
  transition: var(--transition);
}

.button--mobile-catalogue a:hover .fa-stack .fa-circle {
  color: var(--primary-800);
}

.button--mobile-catalogue a:hover {
  background: var(--primary-100);
  color: var(--primary);
}

.nav--categories {
  width: 100%;
  border-radius: var(--rounded);
  background: #fff;
}
.nav--categories ul {
  width: 100%;
  justify-content: space-around;
}

.nav--categories ul a {
  color: var(--primary-800);
  font-size: 18px;
  font-style: normal;
  font-weight: 200;
  line-height: normal;
  text-decoration: none;
}

.nav--categories ul a:hover,
.nav--categories ul a:focus {
  color: var(--secondary);
}

/* Filters */

fieldset div {
  display: none;
}

#filters-content-wrapper {
  margin-bottom: var(--gap);
}

@media screen and (min-width: 939px) {  
  .filters > button {
    display: none;   
  }
  .mobile-filters{
    position: sticky;
    top: 180px;
    width: 100%;
    padding: 0;
    border-radius: 0;
    z-index: 1;
    left: unset;
    box-shadow: none;
  }
  .mobile-filters.is-closed{
    transform: unset;
  }
  .mobile-filters-close, .mobile-filters .categories, .mobile-filters-toggle, .mobile-filters h2 {
    display: none;
  }
  #filters-content-wrapper {
    max-height: calc(80vh - 260px);
    margin-bottom: 10px;
    overflow-y: auto;
  }
}

.blocks--categories.container {
  padding: 0;
}

@media screen and (max-width: 938px) {
  .blocks--categories{ 
    display: none !important;
  }
  .nav--categories {
    display: none;
  }
  .mobile-filters .filters > div {
    display: block;
  }
  .mobile--sort,
  ul.categories,
  .filters {
    margin-top: var(--gap);
  }
  
  .mobile--sort {
    display: block;
    width: 100%;
    text-align: left;
  }
  
  .categories {
    padding: var(--pad--m);
    background: var(--light);
    border-radius: var(--rounded--s);
  }
  .categories li {
    line-height: 2;
  }
  .filters > div {
    display: none;
  }
}

.filters fieldset > a {
  text-decoration: none;
}

.filters fieldset > a:hover legend {
  color: var(--primary);
}

.filters fieldset legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--primary-800);
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
}

.filters .filter-toggle:hover legend {
  color: var(--primary);
}

.filters fieldset > div {
  margin-top: var(--gap--xs);
}

.filters fieldset:not(:first-child) {
  margin-top: var(--gap--m);
}

.filters fieldset:last-of-type div {
  margin-top: var(--gap--s);
}

.filters fieldset label {
  color: var(--primary-800);
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: 23px;
  display: flex;
  align-items: center;
}

.filters fieldset label:not(:first-child) {
  margin-top: var(--gap--xs);
}

.filters label:hover {
  color: var(--primary);
  cursor: pointer;
}

.filters fieldset label input[type="checkbox"] {
  margin-right: var(--gap--xs);
}

label span {
  background: var(--primary-100);
  border-radius: 6px;
  margin-left: auto;
  color: var(--primary-800);
  font-size: 16px;
  font-weight: 200;
  /* line-height: 23px; */
  padding: 0 var(--gap--xs);
}

.filters fieldset input[type="text"] {
  color: var(--primary-900);
  font-size: 18px;
  letter-spacing: 1.45px;
  margin: 0 auto;
  border-radius: var(--rounded--s);
}

.filters fieldset input[type="text"]::placeholder {
  color: var(--primary-200);
}

.filters fieldset:last-of-type > div {
  display: hidden;
}

.filters fieldset + button {
  margin-top: var(--gap--s);
  background: var(--primary);
  color: #fff;
  transition: var(--transition);
}

.filters fieldset + button:hover {
  background: var(--secondary);
}

input:focus-within,
button:focus {
  border-radius:     var(--rounded);
  outline: var(--primary-900) auto 1px;
  border: inherit;
}

input {
  transition: none;
}


.results {
  display: flex;
  gap: var(--gap);
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--gap--m);
  flex-wrap: wrap;
}

.results span {
  text-decoration: underline;
}

.clear--filters {
  margin-top: var(--gap--m);
}

.button--clear-cart:hover {
  background: var(--secondary);
  color: #fff;
}

.results select {
  background: none;
  border: 1px solid transparent;
}

.results select:hover,
.results select:focus {
  background: var(--light);
}

/* Products */

.sku,
.product--category,
.product--category a {
  color: var(--sku);
  font-size: var(--text--s);
  display: inline-block;
}

.product--category a {
  color: var(--primary);
}

.product--category a:hover {
  color: var(--secondary);
}

.products article.sale,
.products article.waitlist,
.products article.new,
.product .wrapper--zoom {
  position: relative; 
}

.products article h3,
.product-in-cart h3,
.product-in-wishlist h3 {
  text-transform: none;
}

.products article h3 {
  text-align: center;
}

.products article h3 a {
  color: var(--primary-900);
  font-size: 20px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 1px;
  text-transform: capitalize;
}

.products article h3 a:hover {
  color: var(--primary);
}

.products article > div:last-child {
  padding: var(--gap--s);
}

.products article > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap--xs);
  width: 100%;
  margin-top: 0;
}

.product > .col--1-2 {
  grid-template-columns: 1fr 2.5fr;
}

.pagination {
  display: flex;
  justify-content: center;
  margin: var(--gap--l);
}

.pagination ul {
  display: flex;
  gap: var(--gap);
}

.pagination span {
  font-weight: 800;
}

.pagination span,
.pagination a {
  color: var(--medium);
}

.pagination a:hover {
  color: var(--primary);
}

@media screen and (max-width: 1024px) {
  .product > .col--1-2 {
    grid-template-columns: 1fr;
  }  
}


.product > form > section {
  padding: 0;
}

.products article em,
.product .wrapper--price em,
.banner--notice .wrapper--price em,
.banner--top .wrapper--price em {
  font-style: normal;  
}

.price {
  line-height: 1;
}

.products article img,
.product .product--thumbs img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

.products article .wrapper--price,
.product .wrapper--price,
.banner--notice .wrapper--price {
  display: grid;
  grid-template-columns: auto 2fr;
  gap: var(--gap--s);
  margin-bottom: var(--gap--xs);
  align-items: flex-end;
}

.products article .wrapper--price.account,
.product .wrapper--price.account {
  grid-row-gap: var(--gap--xs);
}

.products article .wrapper--price + div {
  display: flex;
  gap: 2px;
}

@media screen and (max-width: 576px) {
  .products article .wrapper--price {
    flex-direction: column;
    align-items: flex-end;
    gap: var(--gap--xs);
  }
}

.products article .price,
.product .price {
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  color: var(--primary-900);
  text-align: center;
}

.per {
  font-weight: 400;
}

.products article .account em:not(.price.regular),
.product .account em:not(.price.regular) {
  color: var(--success) !important;
}

.products article .price.regular,
.product .price.regular,
.product-in-cart .price.regular {
  color: var(--secondary);
}

.products article .price.regular,
.product-in-cart .price.regular {
  color: var(--base);
  font-weight: 500;
  opacity: 0.35;
}

.products article .price.regular {
  font-size: 18px;
}

.product-in-cart .price.regular {
  font-size: 16px;
}

.products article form {
  display: flex;
  gap: 0;
}

.product-in-cart input[type="number"],
.product-in-wishlist input[type="number"],
.product .add-to-cart input[type="number"] {
  width: 32px;
  text-align: center;
  border-radius: 0;
  border: 0px solid transparent;
}

@media screen and (max-width: 640px) {
  .products article input[type="number"] {
    width: 45px;
  }
}

.wrapper--zoom {
  border: solid 1px var(--border--light);
  border-radius: var(--rounded);
  position: relative;
  overflow: hidden;
}

#product-zoom {
  width: 100%;
  height: auto;
}

.product .wrapper--zoom.sale #product-zoom {
  border: 1px solid var(--primary);
}

.product .wrapper--zoom.clearance #product-zoom {
  border: 1px solid var(--secondary);
}

#product-zoom figure {
  display: flex;
  border-radius: var(--rounded);
}

#product-zoom figure img {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mz-hint-message {
  color: var(--light-white);
}

.product .product--thumbs {
  margin-top: var(--margin--s);
}

.mz-thumb img {
  border-radius: var(--rounded);
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  transition: none;
}

.mz-thumb img:hover {
  box-shadow: var(--box-shadow);
}

.mz-thumb.mz-thumb-selected img,
.mz-thumb:hover{
  outline: 0px solid transparent !important;
  border: 0px solid transparent !important;
}

@media screen and (max-width: 434px) {
  .mz-thumb img {
    border-radius: var(--rounded--s);
  }
}

a[data-zoom-id] img:hover,
a[data-zoom-id]:hover,
.mz-thumb img:hover,
.mz-thumb:hover{
  border-bottom: 0px solid transparent;
}

.mz-thumb.mz-thumb-selected:hover{
  border-bottom: 0px solid transparent !important; 
}

.mz-thumb:not(.mz-thumb-selected):hover img {
  border-bottom-color: transparent;
}

.product--details {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

.product--details h1 {
  color: var(--primary);
  font-size: 36px;
  font-weight: 500;
  line-height: normal;
}

.product--details h2 {
  color: var(--primary-800);
  font-size: 18px;
  font-style: italic;
  font-weight: 200;
  line-height: normal;
  letter-spacing: 0.18px;
}

.plant-care ul {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--gap);
}

.plant-care ul li {
  display: flex;
  gap: var(--gap--xs);
  align-items: center;
}

.plant-care img {
  height: 2rem;
}

.field--description p {
  line-height: 1.8;
}

.field--availability_info {
  color: var(--primary-800);
  font-size: 16px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
}

.field--pot_sizing {
  color: var(--primary-800);
  font-size: 18px;
  font-style: normal;
  font-weight: 200;
  line-height: 23px;
  padding: 0 var(--gap--s);
}

.product--details .product--pricing {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 600px) {
  .product--details .product--pricing {
    flex-direction: column;
    margin-bottom: var(--gap--m);
    gap: var(--gap--s);
  }
}

.product--details .product--pricing .price,
.product .price.regular span {
  font-weight: 600;
  letter-spacing: 1.14px;
}

.product--details .product--pricing .price {
  color: var(--primary);
  font-size: 24px;
}

.product .price.regular {
  opacity: 0.35;
  font-size: 18px;
}

.product .price.regular span {
  font-size: 24px;
}

.product--notes {
  display: flex;
  flex-direction: column;
  gap: var(--gap--s);
}

.product--notes p {
  margin-top: var(--gap--xxs);
}

.product--notes article h3 {
  color: var(--primary-800);
  font-size: 16px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
  margin-top: var(--gap--s);
}

.add-to-cart {
  display: flex;
  gap: var(--gap--s);
  align-items: center;
}

.add-to-cart .button--cart,
.add-to-cart .button--waitlist,
.add-to-cart .button--wishlist {
  flex-grow: 1;
}

.add-to-cart label span {
  color: var(--base);
}

.add-to-cart a {
  height: 60.39;
}

.add-to-cart svg {
  height: 54px;
  fill: var(--primary);
}

.add-to-cart a {
  line-height: 0;
}

.add-to-cart a:hover svg {
  fill: var(--secondary);
}

.wrapper--quantity-cart {
  display: flex;
  flex-direction: column;
  gap: var(--gap--s);
  max-width: 275px;
}

.product .product-attributes {
  color: var(--black);
  margin-top: 2rem;
}

.product .product-attributes table {
  border-collapse: collapse;
}

.product .product-attributes table td {
  border: 1px solid var(--light);
  padding: 0.5rem;
  margin: 0;
  font-size: 15px;
}

.product .product-attributes table td,
.product .product-attributes table td strong {
  color: var(--medium);
}

.product .product-attributes table tr:nth-child(odd) {
  background-color: var(--light);
}

.product .inventory {
  padding: var(--pad--s);
}

.product .inventory svg {
  color: var(--primary);
}

.product .inventory h2 {
  margin-bottom: var(--gap--s);
}

.product .inventory ul {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
  display: inline-block;
}

.product .inventory li {
  line-height: 1.75;
}

.product .inventory li:nth-child(2) {
  border-top: 1px solid var(--border--light);
  border-bottom: 1px solid var(--border--light);
  padding: var(--gap--s) 0;
  margin: var(--gap--s) 0;
}

.product .inventory li.inventory--item0,
.product .inventory li.inventory--item0 span,
.product .inventory li.inventory--item1,
.product .inventory li.inventory--item1 span,
.product .inventory li.no-stock,
.product .inventory li.no-stock span {
  color: var(--xmedium);
}

.product .inventory li.inventory--item0:after,
.product .inventory li.inventory--item1:after,
.product .inventory li.no-stock:after {
  display: inline-block;
  color: var(--xmedium);
  font-weight: 600;
  margin-left: var(--gap--xxs);
  content: "(Please call for availability)";
}

.product .inventory li.loading {
  color: var(--base);
  text-align: left;
  margin-top: var(--margin--xs);
}
/* Testimonials */

#content .wrapper--testimonials {
  padding: 0 var(--gap);
}

.wrapper--section .blocks--testimonials {
  width: 100%;
  padding: var(--gap--l) var(--gap--s);
  position: relative;
  margin: 0 auto;
  border-radius: var(--rounded);
}

@media screen and (min-width: 1020px) {
  .wrapper--section .blocks--testimonials {
    background-image: url('/img/plant-left.svg'), url('/img/plant-right.svg');
    background-position: left bottom -3rem, right bottom -3rem;
    background-repeat: no-repeat, no-repeat;
    background-size: contain;
  }
}

.blocks--testimonials article {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border-radius: var(--rounded--s);
  padding: var(--gap);
  max-width: 750px;
  position: relative;
}

.blocks--testimonials article svg {
  color: var(--primary);
  z-index: 1;
}

.blocks--testimonials article blockquote {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  color: var(--primary-800);
  font-size: 20px;
  font-weight: 200;
  line-height: 1.3;
  text-align: center;
  max-width: 437px;
  z-index: 1;
}

.blocks--testimonials article blockquote cite {
  font-size: 16px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 1.92px;
  font-style: normal;
  display: block;
}

.blocks--testimonials article blockquote cite a {
  font-weight: 400;
  text-decoration: none;
  color: var(--primary);
}

.blocks--testimonials article blockquote cite a:hover {
  color: var(--secondary);
}

.blocks--testimonials .testimonial-wrapper {
  max-width: 750px;  
  margin: 0 auto;
  position: relative;
}

.testimonial-stars {
  margin-top: 0;
}

.blocks--testimonials .bx-wrapper {
  background: transparent;  
  border: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  margin-bottom: 0;
}

.blocks--testimonials .bx-wrapper .bx-next, .blocks--testimonials .bx-wrapper .bx-prev, .blocks--testimonials .bx-wrapper .bx-prev:hover, 
.blocks--testimonials .bx-wrapper .bx-prev:focus, .blocks--testimonials .bx-wrapper .bx-next:hover, 
.blocks--testimonials .bx-wrapper .bx-next:focus {
  background: none;
}
.bx-viewport {
    height: auto !important;
}
#slider-next .svg-inline--fa, #slider-prev .svg-inline--fa {
  height: 2em;
  z-index: 9;
  background-color: #fff;
  border-radius: 50%;
  color: var(--primary);
}
#slider-next:hover .svg-inline--fa, #slider-prev:hover .svg-inline--fa {
  color: var(--primary-800);
}
#slider-next{  
  position: absolute;
  right: -20px;
  top: calc(50% - 1em);
  z-index: 1;
}
#slider-prev{  
  position: absolute;
  left: -20px;
  top: calc(50% - 1em);
  z-index: 1;
}
.bx-prev,.bx-next{
    width: 2em;
    height: 2em;
    display: block;
    position: absolute;
    top: 0;
    left: 0;    
    border: solid 2px #fff;
    border-radius: 50%;
}

/* Messages and Alerts */
  
.success span,
.warning span,
.error span,
#cart-container .success,
#cart-container .warning,
#cart-container .error,
#dialog--user .error,
.notice span,
.notice span em,
.notice span a,
.success span a,
.warning span a,
.error span a {
  color: var(--primary-800);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
  line-height: 1.4;
  display: inline-block;
}

.success span,
.warning span,
.error span,
#cart-container .success,
#cart-container .warning,
#cart-container .error,
#dialog--user .error,
.notice span,
.notice span em {
  background: var(--primary-50);
  border-radius: calc(var(--rounded--s) / 2);
  padding: var(--gap--xs) var(--gap--s);
  margin: var(--gap--xs) 0;
}

.notice span a,
.success span a,
.warning span a,
.error span a {
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
}

.notice span a:hover,
.success span a:hover,
.warning span a:hover,
.error span a:hover {
  color: var(--secondary);
}

.notice span {
  color: var(--success);
}

.checkout-wrapper .notice.success {
  text-align: right;
}

.choices--delivery .notice span {
  font-weight: 400;
  text-transform: unset;
  letter-spacing: 1px;
}

.cart-details .notice {
  display: block;
  text-align: center;
}

.cart-details .notice svg {
  color: var(--secondary);
}

.success span,
#cart-container .success {
  color: var(--success);
}

.warning span,
#cart-container .warning {
  color: var(--caution);
}

.error span,
#cart-container .error {
  color: var(--warning);
}

.notice--optimizer span em {
  color: var(--secondary);
  padding: unset;
  margin: unset;
}

.checkout-wrapper > div > h2 + .notice span {
  background: var(--secondary);
  color: #fff;
  font-weight: 400;
}

.checkout-wrapper > div > h2 + .notice span strong {
  font-weight: 600;
}

.checkout-wrapper > div > h2 + .notice span a {
  color: #fff;
  background: unset;
  margin: unset;
}

.checkout-wrapper > div > h2 + .notice span a:hover {
  color: var(--primary-200);
}

.alert--bar {
  background: var(--primary);
}

/* Departments Index */

.departments article h2 {
  font-size: var(--text--m);
  text-transform: initial;
  padding: var(--gap--s);
  text-align: center;
  line-height: 1.3;
}

/* Form Inputs */

input[type = "text"],
input[type = "tel"],
input[type = "email"],
input[type = "password"],
textarea {
  padding: var(--gap--s);
  width: 100%;
  border: 2px solid var(--border--light);
  margin-bottom: var(--gap--s);
}

input[type = "text"],
input[type = "tel"],
input[type = "email"],
input[type = "password"]{
  height: 38px;
}

input[type = "submit"]:hover {
  cursor: pointer;
}

select {
  background: #fff;
  border: 1px solid var(--border--light);
  padding: 4px 16px;
  text-align: center;
  border-radius: var(--rounded);
  overflow: hidden;
}

select:hover {
  box-shadow: var(--box-shadow--light);
  border: 1px solid var(--primary);
  cursor: pointer;
}

label {
  color: var(--base);
  line-height: 1.4;
  display: block;
}

input[type=checkbox] {
  accent-color: var(--primary);
}

input[type=checkbox]:hover {
  border-color: var(--primary);
}

.required-field {
  color: var(--warning);
}

@media screen and (max-width: 576px) {
  .sidebar,.mobile-nav {
    height: 100vh;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 24em;
  }
  .sidebar-close, .mobile-close {
    line-height: 39px;
  }
}

/* Footer */

footer {
  background: var(--primary);
  padding: var(--gap--l);
  display: flex;
  flex-direction: column;
  gap: var(--gap--l);
  margin-top: var(--gap);
  text-align: center;
}

@media screen and (max-width: 1119px) {
  footer {
    flex-direction: unset;
    flex-flow: wrap;
  }
}


@media screen and (min-width: 1120px) {
  footer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap);
    text-align: left;
  }
  
  footer > div {
    max-width: 440px;
  }
}

.logos-and-social {
  width: 100%;
}

footer h2 {
  color: #fff;
  font-family: var(--font--secondary);
  text-transform: lowercase;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 2.8px;
}

footer nav ul {
  list-style-type: none;
  padding-left: 0;
  margin: 0 auto;
}

footer p,
footer p a,
footer nav ul a {
  color: #fff;
  font-size: 17px;
  font-weight: 200;
  line-height: 1.7;
  text-decoration: none;
}

footer nav ul a:hover,
 footer nav ul a:focus {
  color: var(--primary-200);
}

footer > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap--s);
  margin: 0 auto;
}

@media screen and (min-width: 1220px) {
  footer > div:nth-child(3) {
    margin-left: var(--gap);
  }
}

footer #footer--logo {
  width: 100%;
  max-width: 392px;
  margin: 0 auto;
}

footer .social--icons {
  display: flex;
  gap: var(--gap);
  justify-content: center;
  margin-top: var(--gap--l);
}

footer .social--icons a {
  color: #fff;
  font-size: 30px;
  text-decoration: none;
}

footer .social--icons a:hover svg {
  color: var(--primary-900);
}

.icons--social a:hover svg {
  color: var(--secondary);
}

footer #mc_embed_signup_scroll {
  position: relative;
  background: #fff;
  border-radius: var(--rounded);
  height: 64px;
}

footer #mc_embed_signup_scroll input[type="email"] {
  color: var(--base);
  width: 80%;
  background: transparent;
  border: 0;
  height: 64px;
  text-align: center;
}

footer #mc_embed_signup_scroll input[type="email"]::placeholder {
  color: var(--primary);
}

footer #mc_embed_signup_scroll input[type="email"],
footer #mc_embed_signup_scroll input[type="email"]::placeholder {
  font-size: 14px;
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: 1.5px;
}

footer button#mc-embedded-subscribe {
  background: transparent;
  position: absolute;
  top: 2px;
  right: -5px;
  padding: 0;
}

footer .fa-stack {
  font-size: 1.85rem;
}

footer button .fa-circle {
  color: var(--secondary);
  transition: var(--transition);
}

footer .fa-stack:hover .fa-circle {
  color: var(--primary-800);
}

footer .fa-stack:hover {
  color: var(--primary);
}

.colophon {
  padding: var(--gap);
  width: 100%;
  text-align: center;
}

.colophon,
.colophon a {
  color: var(--primary);
  font-size: 18px;
  font-weight: 200;
  line-height: 1.27;
}

.colophon a:hover {
  color: var(--primary-800);
}

.banner--notice {
  background: var(--primary);
  padding: var(--gap--s);
  margin: 0 auto;
}

.banner--notice p {
  color: var(--light-white);
  text-align: center;
  font-weight: 300;
  letter-spacing: 2px;
  font-size: 1rem;
}

@media screen and (min-width: 962px) {
  .banner--notice p {
    line-height: 15px;
  }
}

.banner--top {
  background: var(--primary);
  padding: var(--gap--xs);
  display: flex;
  gap: var(--gap--s);
  align-items: center;
  justify-content: center;
  margin-top: -4px;
}

.banner--top > span:first-of-type {
  display: inline-block;
  background: rgba(58, 0, 15, 0.4);
  border-radius: var(--rounded);
  padding: var(--gap--xs) var(--gap--s);
}

.banner--top span {
  color: var(--light-white);
}

.banner--top .button {
  padding: 4px var(--gap--xs);
}

.skip-link {
  display: inline-block;
  background: #fff;
  color: var(--black);
  padding: 1rem;
  font-size: 22px;
  margin: 0.5rem;
  font-weight: 700;
  left: 50%;
  position: absolute;
  -webkit-transform: translateY(-150%);
  transform: translateY(-150%);
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.skip-link:focus {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}

/*Back to top link*/

.back-to-top-wrapper {
  position: fixed;
  bottom: 1rem;
  right: 0;
  width: 3em;
  opacity: 0.6;
  pointer-events: none;
}

.back-to-top-wrapper:hover {
  opacity: 1;
}

.back-to-top-link {
  position: absolute;
  bottom: 0;
  display: inline-block;
  text-decoration: none;
  font-size: 24px;
  line-height: 1.6;
  text-align: center;
  width: 3rem;
  height: 45px;
  border-top-left-radius: var(--rounded);
  border-bottom-left-radius: var(--rounded);
  background-color: var(--base);
  color: var(--secondary);
  padding: 0.25rem;
  pointer-events: all;
}

.back-to-top-link:hover{
  background: var(--secondary);
  color: var(--base);
}

/* Cart */

#cart-wrapper, #cart-container {
  height: 100%;
}
#cart-content-wrapper {
  height: calc(100% - 260px);
  overflow-y: auto;
}

#cart-sidebar form {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

#cart-sidebar .button {
  display: block;
}

.has-items svg path {
  fill: var(--secondary);
}

.has-items:hover svg path {
  opacity: 0.7;
}

.cart-content,
.checkout__billing__wrapper {
  margin-bottom: var(--gap--l);
}

.cart-content {
  padding-top: 0;
}

.product-in-cart,
.product-in-wishlist {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-column-gap: var(--gap--s);
  margin-top: var(--gap--s);
  justify-content: space-between;
  align-items: center;
}

.product-in-wishlist {
  grid-template-columns: 111px 1fr;
  grid-column-gap: var(--gap);
  margin-top: 0;
}

@media (max-width: 550px) {
  .product-in-wishlist {
    grid-template-columns: 0 2fr;
    grid-column-gap: var(--gap--s);
  }
}

@media (max-width: 375px) {
  .product-in-wishlist--info .wrapper--price {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap--s);
  }
}

.product-in-cart img,
.product-in-wishlist img {
  border-radius: var(--rounded--s);
}

.product-in-cart--info > div,
.product-in-wishlist--info > div,
.product-in-cart--info .wrapper--price {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  align-items: center;
}

.product-in-cart.notice,
.product-in-wishlist.notice {
  background: #fbfbfb;
}

.product-in-cart img,
.product-in-wishlist img {
  max-height: 111px;
  margin: 0 auto;
}

.wishlist--added svg {
  fill: var(--secondary);
}

.cart-details.container{
  padding-right: 0;
}

.product-in-cart .s {
  font-size: 11px;
  margin-top: 1rem;
  text-decoration: none;
  color: var(--primary);
}

.product-in-cart .s:hover {
  text-decoration: underline;
  color: var(--secondary);
}

.product-in-cart .wrapper--price,
.product-in-cart .wrapper--subtotal {
  text-align: right;
}

.product-in-cart h3,
.product-in-wishlist h3 {
  font-weight: 400;
}

.product-in-cart .price {
  font-size: 20px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 1px;
  color: var(--primary);
}

.product-in-cart--info,
.product-in-wishlist--info {
  display: flex;
  flex-direction: column;
  gap: var(--gap--xs);
  margin-top: 0;
}

.product-in-cart--info svg,
.product-in-wishlist--info svg {
  color: var(--white-600);
}

.product-in-cart--info svg:hover,
.product-in-wishlist--info svg:hover {
  color: var(--warning);
}

.cart-total {
  margin-left: 2rem;
}

.cart-details.cart-total {
  margin-left: 0;
}

.cart-details {
  position: absolute;
  width: calc(100% - 4rem);
  bottom: 2rem;
  background: rgba(255, 255, 255, 0.75)
}

.cart-details div {
  text-align: right;
}

.cart-details fieldset {
  display: flex;
  flex-direction: column;
  gap: var(--gap--s);
  justify-content: flex-end;
  width: 100%;
}

.pricing-note,
.pricing-note a,
.terms-note,
.terms-note a {
  margin-top: 1rem;
  font-size: 14px;
}

.pricing-note,
.terms-note {
  padding: 0 1rem;
}

.pricing-note {
  text-align: center;
}

.cart-details .button-large {
  padding: 0.5rem .5rem;
}

.cart-details button {
  border: 0;
}

.wrapper--subtotal {
    display: none;
}

@media screen and (min-width: 900px) {
  .cart-details .button-large {
    padding: 0.5rem 1.75rem;
  }
  .wrapper--subtotal {
    display: block;
  }
}

@media screen and (max-width: 899px) {
  .back-to-shopping {
    order: 1;
  }
  .cart-title.page-title {
    order: 2;
  }
}

.back-to-shopping .button-small {
  padding: 0.5rem;
  margin-top: 0;
}

.total-cart-weight {
  display: flex;
  justify-content: flex-end;
  color: var(--gray);
    font-size: 12px;
    letter-spacing: 0.3px;
    margin-bottom: 0.5rem;
}

.weight {
  font-size: var(--text--l);
  color: var(--base);
  font-family: var(--font--primary);
}

.continue-shopping {
  margin-bottom: 1rem;
}

.product-in-cart .wrapper--price > div,
.product-in-wishlist .wrapper--price > div {
  display: flex;
  margin-bottom: var(--gap--xs);
  justify-content: flex-end;
  align-items: flex-end;
}

.product-in-wishlist .wrapper--price > div {
  margin-bottom: 0;
}

.product-in-cart .wrapper--price > div:last-child,
.product-in-wishlist .wrapper--price > div:last-child {
  gap: var(--gap--xs);
}

.product-in-cart .wrapper--qty,
.product-in-wishlist .wrapper--qty {
  margin-top: var(--gap--xs);
  text-align: right;
}

.cart-customizations li:not(:first-child) {
  margin-top: var(--gap--s);
}

/* Checkout */

.page.checkout > section > article,
.page.receipt > section > article,
.page.wishlist > section > article {
  background: none;
  border-radius: 0;
  padding: 0;
}

.page.checkout h1,
.page.receipt h1,
.page.wishlist h1 {
  font-family: var(--font--primary);
  text-align: center;
  margin-top: 0;
  margin-bottom: var(--gap--m);
  font-size: clamp(1.875rem, calc(1.875rem + ((1vw - 0.36rem) * 1.6304)), 3rem);
  font-weight: 400;
  letter-spacing: 2.88px;
}

.page.receipt h1 + p {
  text-align: center;
  margin-bottom: var(--gap);
}

.checkout-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

@media screen and (min-width: 962px) {
  .checkout-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.checkout-wrapper > div,
.wishlist-wrapper > div {
  background: #fff;
  border-radius: var(--rounded);
  padding: var(--gap);
}

.wishlist-wrapper + div {
  display: flex;
  justify-content: center;
}

.wishlist form {
  background: #fff;
  border-radius: var(--rounded);
  max-width: 600px;
  margin: 0 auto;
}

.wishlist .button--cart {
  margin: var(--gap) auto;
  background: var(--primary);
}

.wishlist .button--cart:hover {
  background: var(--secondary);
}

.checkout h1,
.wishlist h1 {
  font-family: var(--font--secondary);
  font-size: clamp(1.875rem, calc(1.875rem + ((1vw - 0.36rem) * 1.6304)), 3rem);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 2px;
  color: var(--secondary);
  margin-bottom: var(--gap);
}

.checkout .notice span a {
  padding: 0;
  color: var(--primary);
}

.checkout .notice span a:hover {
  color: var(--secondary);
}

.checkout .product-in-cart {
  grid-template-columns: 1fr 1fr;
  padding: 0;
}

.checkout .product-in-cart:last-of-type {
  margin-bottom: var(--gap);
}

@media screen and (min-width: 500px) {
  .checkout .product-in-cart {
    grid-template-columns: 100px 1fr;
    padding: var(--gap);
  }
}

.checkout .product-in-cart--info .wrapper--price {
  justify-content: flex-start;
}

.checkout .quantity span {
  color: var(--base);
  font-weight: 500;
  opacity: 0.35;
  margin-right: var(--gap--xxs);
}

.checkout--subtotal-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--gap--s);
  text-align: right;
}

.checkout--subtotal label,
.checkout--coupon_code label,
.checkout--taxes label,
.checkout--total label,
.checkout--shipping label {
  text-transform: uppercase;
}

.checkout--subtotal span,
.checkout--taxes span,
.checkout--total span,
.checkout--shipping span {
  color: var(--secondary);
  font-size: 28px;
  font-weight: 500;
}

.checkout--coupon_code span,
.checkout--total span {
  color: var(--primary);
  font-size: 28px;
  font-weight: 500;
}

.checkout--customer-information .notice {
  margin-bottom: var(--gap--m);
}

.discount_fields {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  width: 100%;
}

@media screen and (min-width: 640px) {
  .discount_fields aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap--s);
  }
}

.discount_fields h2 {
  text-align: left;
}

.discount_fields input[type="button"] {
  background: var(--secondary);
  text-transform: uppercase;
  border-radius: var(--rounded);
  color: #fff;
  border: 0px solid transparent;
  padding: var(--gap--xs) var(--gap--m);
  transition: var(--transition);
  letter-spacing: 2px;
}

.discount_fields input[type="button"]:hover {
  background: var(--primary);
  cursor: pointer;
}

.giftcard--field:first-of-type {
  margin-bottom: var(--gap);
}

.discount_fields,
.checkout--delivery-information {
  margin-top: var(--gap--l);
}

#gift_card_status p {
  margin-bottom: var(--gap--s);
  font-size: 14px;
}

#shipping_fields {
  margin-bottom: var(--gap);
}

#cart-sidebar .button--checkout {
  padding: var(--gap--xs);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#cart-sidebar .button--checkout span {
  display: flex;
  align-items: center;
}

.quantity-input {
  border: 2px solid var(--primary);
  border-radius: var(--rounded);
  padding: 0 var(--gap--xs);
  line-height: 40px;
  display: flex;
}

.quantity-input button {
  padding: var(--gap--xs);
  background: unset;
  text-align: center;
  line-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance:textfield;
}

select.customizations {
  border: 2px solid var(--primary);
  border-radius: var(--rounded);
  padding: var(--gap--xs);
  line-height: 40px;
  min-width: 100px;
}

.button--checkout span {
  font-size: 1rem;
  color: #fff;
  line-height: 18px;
  font-weight: 900;
  letter-spacing: 1.28px;
}

#deliveryAddress {
  margin-top: var(--gap);
}

#pickupDate p,
#deliveryAddress p {
  margin-bottom: var(--gap--m);
}

.id-required {
  font-family: var(--font--primary);
  color: var(--base);
}

.existing-customer {
  margin: var(--gap--m) 0;
}

.existing-customer > p {
  font-weight: var(--text--bold);
}

.product .product--details input[type="text"],
.product .product--details textarea,
.my--account input[type="text"],
.my--account input[type="email"],
.my--account input[type="tel"],
.my--account input[type="password"],
.checkout input[type="text"],
.checkout input[type="email"],
.checkout input[type="tel"],
.checkout input[type="password"],
.checkout select {
  margin-top: var(--gap--xs);
  border-radius: var(--rounded);
}

.checkout select {
  border-width: 2px;
  display: block;
  width: 100%;
  height: 38px;
  text-align: left;
  margin-bottom: var(--gap--s);
  font-weight: 400;
  font-size: 16px;
}

.wrapper--customer-delivery-payment {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

.wrapper--customer-delivery-payment h2 {
  margin-bottom: var(--gap--xxs);
}

.wrapper--customer-delivery-payment p {
  line-height: 1.5;
}

#payment-form {
  margin-top: var(--gap--s);
}

#payment-form #submit {
  width: 100%;
}

#payment-form #submit:disabled {
  opacity: .4;
}

#payment-form #submit:disabled:hover {
  cursor: not-allowed;
  background: var(--primary);
}

#payment-form #submit span {
  color: #fff;
  font-size: 18px;
  letter-spacing: 4px;
  padding: 0;
}

#payment-form .spinner:before {
  background: var(--primary-100);
}

#payment-form .spinner:after {
  background: none;
}

#payment-form .spinner {
  color: var(--primary-100);
}

/* spinner/processing state, errors */
.spinner,
.spinner:before,
.spinner:after {
  border-radius: 50%;
}
.spinner {
  color: #ffffff;
  font-size: 22px;
  text-indent: -99999px;
  margin: 0px auto;
  position: relative;
  width: 20px;
  height: 20px;
  box-shadow: inset 0 0 0 2px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.spinner:before,
.spinner:after {
  position: absolute;
  content: "";
}
.spinner:before {
  width: 10.4px;
  height: 20.4px;
  background: #5469d4;
  border-radius: 20.4px 0 0 20.4px;
  top: -0.2px;
  left: -0.2px;
  -webkit-transform-origin: 10.4px 10.2px;
  transform-origin: 10.4px 10.2px;
  -webkit-animation: loading 2s infinite ease 1.5s;
  animation: loading 2s infinite ease 1.5s;
}
.spinner:after {
  width: 10.4px;
  height: 10.2px;
  background: #5469d4;
  border-radius: 0 10.2px 10.2px 0;
  top: -0.1px;
  left: 10.2px;
  -webkit-transform-origin: 0px 10.2px;
  transform-origin: 0px 10.2px;
  -webkit-animation: loading 2s infinite ease;
  animation: loading 2s infinite ease;
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media only screen and (max-width: 600px) {
  form {
    /* width: 80vw; */
    min-width: initial;
  }
}

.is-hidden { display:none !important; }

/* ONP-specific */

#content {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

/* home */

.hero-container {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

.hero-container img,
.page--hero {
  border-radius: var(--rounded);
}

.hero-container div {
  display: flex;
  width: 100%;
}

.hero-container .button {
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .hero-container .button,
  .blocks--featured-products .button {
    width: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .hero-container .button {
    position: absolute;
    bottom: var(--gap);
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: var(--box-shadow);
  }
}

.hero--shop {
  padding: 0;
}

.hero--shop div {
  position: absolute;
  width: auto;
}

/* Pages */

main.page {
  max-width: var(--container);
  margin: 0 auto !important;
}

.page:not(.page--account) article {
  background: #fff;
  border-radius: var(--rounded);
  padding: var(--gap);
}

.page--account section {
  background: #fff;
  border-radius: var(--rounded);
  padding: var(--gap);
}

.page--hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}

.page--hero div {
  background: var(--secondary);
  border-radius: var(--rounded);
  padding: var(--gap--s) var(--gap--l);
  flex-direction: column;
}

.page--hero h1,
.page--hero h2 {
  color: #fff;
  text-transform: uppercase;
}

.page--hero h1,
.page--title {
  font-family: var(--font--secondary);
  font-size: clamp(2rem, calc(2rem + ((1vw - 0.36rem) * 1.1775)), 2.8125rem); /* 32-45px */
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: 9px;
}

.page--title {
  color: var(--secondary);
  letter-spacing: 4px;
}

.page--title.green {
  margin-top: 0;
  color: var(--primary);
  margin-bottom: var(--gap--m);
  font-size: clamp(1.875rem, calc(1.875rem + ((1vw - 0.36rem) * 1.6304)), 3rem);
  font-weight: 400;
  letter-spacing: 2.88px;
}

.page--hero h2 {
  font-family: var(--font--secondary);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 9px;
}

.page--hero button, 
.page--hero .hero-button {
  position: absolute;
  bottom: 0;
  right: 0;
  background: var(--primary-50);
  color: var(--secondary);
  padding: var(--gap);
  text-align: center;
  text-transform: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 1.92px;
  border-top-left-radius: var(--rounded);
  text-decoration: none;
}

.page--hero button .fa-stack,
.page--hero .hero-button .fa-stack {
  font-size: 1.4rem;
  color: var(--secondary);
}

.page--hero button:hover, .page--hero .hero-button:hover {
  background: var(--primary);
  color: #fff;
}

video {
  /* max-height: 50vh; */
  width: 100%;
  object-fit: cover;
  border-radius: var(--rounded);
}

main#content:not(.page) .page--hero h1 {
  font-family: var(--font--primary);
  font-size: 20px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 2.4px;
}

[class*="blocks--"] {
  padding: 0 var(--gap--s);
}

@media screen and (min-width: 962px) {
  [class*="blocks--"] {
    padding: 0 var(--gap);
  }
}

.home--categories,
.blocks--categories {
  display: flex;
  justify-content: space-evenly;
  gap: var(--gap--xs);
}

.home--categories article {
  max-width: 20%;
}

@media screen and (max-width: 939px) {
  .home--categories article {
    max-width: 100%;
  }
}

@media screen and (max-width: 576px) {
  .home--categories article {
    max-width: 30%;
  }
}

.home--categories article a {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  border: 1px solid var(--primary);
  border-radius: var(--rounded);
  width: 140px;
  max-width: 100%;
  height: 202px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background: #fff;
}

.home--categories article:hover a {
  background: #fff;
  box-shadow: var(--box-shadow);
  border: 1px solid var(--secondary);
}

.home--categories article h2 {
  font-family: var(--font--secondary);
  font-size: 1rem;
  color: var(--primary);
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: lowercase;
}

.home--categories article:hover a svg {
  fill: var(--secondary);
}

.home--categories article:hover a h2 {
  color: var(--secondary);
}

.home--categories svg {
  max-height: 100px;
  fill: var(--primary);
}

@media screen and (min-width: 962px) {
  .home--categories {
    gap: var(--gap);
    padding: 0;
  }
  .home--categories article h2 {
    font-size: 20px;
    letter-spacing: 2.6px;
  }
  .home--categories img {
    height: 100px;
  }
  .home--categories article a {
    border-radius: var(--rounded--s);
  }
}

.blocks--why-order {
  border-radius: var(--rounded);
  background: #fff;
  padding: var(--gap);
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  max-width: 1140px;
}

.blocks--why-order > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap--l);
  max-width: 900px;
  margin: 0 auto;
}

.blocks--why-order article {
  display: grid;
  grid-template-columns: 1fr 5fr;
  gap: var(--gap--xm);
  margin-top: 0;
}

.blocks--why-order article > div:first-child {
  margin: 0 auto;
}

.blocks--why-order article > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--gap--xs);
}

.blocks--why-order article svg {
  width: 100%;
  height: auto;
  max-width: 120px;
}

.blocks--why-order article svg {
  fill: var(--secondary);
}

@media screen and (max-width: 586px) {
  .blocks--why-order article {
    display: flex;
    flex-direction: column;
    gap: var(--gap--xs);
    text-align: center;
  }
  
  .blocks--why-order > div {
    gap: var(--gap);
  }
  
  .blocks--why-order article svg {
    width: 100%;
    height: auto;
    max-width: 100px;
  }
}

.wrapper--section {
  padding: var(--gap--s);
}

.wrapper--section:first-child {
  padding-top: 0 !important;
}

@media screen and (min-width: 962px) {
  .wrapper--section,
  .wrapper--footer {
    padding: var(--gap);
  }
  footer {
    border-radius: var(--rounded);
  }
}

.wrapper--section.olive {
  background-image: linear-gradient(
    to bottom, 
    var(--primary) 0%, 
    var(--primary) 66%, 
    var(--primary-50) 66%
  );
}

.wrapper--section.terracotta {
  background: var(--secondary);
}

@media screen and (min-width: 962px) {
  .wrapper--section.white {
    background-image: linear-gradient(
      to bottom, 
      var(--primary-50) 0%, 
      var(--primary-50) 45%, 
      var(--white) 45%
    );
  }
}

/* Dialogs */
dialog {
  border: 0px;
  box-shadow: var(--box-shadow);
  border-radius: var(--rounded--s);
  padding: var(--gap--l) var(--gap);
}

dialog #close--search,
dialog #close--user,
dialog #close--waitlist {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background-color: #BF6F43;
  color: #fff;
  display: inline-block;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  padding: 0;
  line-height: 42px;
}

dialog:not([open]) {
  display: none; 
}

::backdrop {
  background: #353A1C;
  opacity: 0.85;
}

/* Search and User Dialogs */
#dialog--search[open],
#dialog--user[open],
#dialog--waitlist[open] {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

#dialog--search,
#dialog--user,
#dialog--waitlist {
  width: 100%;
  max-width: 640px;
  background: var(--primary-50);
  position: relative;
  text-align: center;
}

#dialog--search {
  width: 96vw;
  max-width: 640px;
}

#dialog--user,
#dialog--waitlist {
  width: 96vw;
  max-width: 480px;
}

#dialog--waitlist[open] {
  gap: var(--gap--s);
}

#dialog--search h2,
#dialog--user h2,
#dialog--waitlist h2 {
  font-size: clamp(1.875rem, calc(1.875rem + ((1vw - 0.36rem) * 3.0797)), 2.5rem);
}

#dialog--search .fa-stack {
  font-size: 1.85rem;
}

#dialog--search fieldset {
  position: relative;
  background: #fff;
  border-radius: var(--rounded);
  height: 64px;
}

#dialog--search input[type="text"] {
  color: var(--primary-900);
  width: 85%;
  background: transparent;
  border: 0;
  height: 64px;
  text-align: center;
  font-size: 24px;
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: 1.92px;
}

#dialog--user input[type="text"],
#dialog--user input[type="password"],
#dialog--waitlist input[type="text"],
#dialog--waitlist input[type="email"],
.forgot--email input[type="email"],
.reset--password input[type="password"] {
  color: var(--primary-900);
  width: 100%;
  background: #fff;
  border: 0;
  height: 64px;
  text-align: center;
  font-size: 24px;
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: 1.92px;
  border-radius: var(--rounded);
}

#dialog--search input[type="text"]::placeholder,
#dialog--user input[type="text"]::placeholder,
#dialog--user input[type="password"]::placeholder,
#dialog--waitlist input[type="text"]::placeholder,
#dialog--waitlist input[type="email"]::placeholder,
.forgot--email input[type="email"]::placeholder,
.reset--password input[type="password"]::placeholder,
.product .product--details input[type="text"]::placeholder,
.product .product--details textarea::placeholder,
.checkout input[type="text"]::placeholder,
.checkout input[type="email"]::placeholder,
.checkout input[type="tel"]::placeholder,
.checkout input[type="password"]::placeholder {
  color: var(--primary);
}

@media only screen and (max-width: 600px) {
  #dialog--search input[type="text"] {
    width: 75%;
  }
  #dialog--search input[type="text"],
  #dialog--search input[type="text"]::placeholder,
  #dialog--user input[type="text"],
  #dialog--user input[type="password"],
  #dialog--user input[type="text"]::placeholder,
  #dialog--user input[type="password"]::placeholder {
    font-size: clamp(1rem, calc(1rem + ((1vw - 0.36rem) * 0.7246)), 1.5rem);
  }
}

#dialog--search button[type="submit"] {
  position: absolute;
  top: 2px;
  right: 0;
  padding: 0;
  background: none;
}

#dialog--user button[type="submit"],
.forgot--submit button[type="submit"],
.reset--submit button[type="submit"] {
  background: var(--primary);
  color: #fff;
}

#dialog--user button[type="submit"]:hover,
.forgot--submit button[type="submit"]:hover,
.reset--submit button[type="submit"]:hover,
.page #mc_embed_shell button[type="submit"]:hover {
  background: var(--secondary);
}

#dialog--user ul {
  padding-left: 0;
  list-style-type: none;
  display: flex;
  gap: var(--gap);
  margin: var(--gap--s) auto;
}

#dialog--waitlist p {
  margin-bottom: var(--gap--m);
}

#dialog--waitlist button[type="submit"] {
  background: var(--secondary);
  color: #fff;
}

#dialog--waitlist button[type="submit"]:hover {
  background: var(--primary);
}

#waitlist_form,
#waitlist_msg {
  display: flex;
  flex-direction: column;
  gap: var(--gap--xs);
}

#waitlist_msg p {
  margin-bottom: 0;
  font-weight: 400;
}

#waitlist_msg span {
  font-weight: 600;
  color: var(--primary);
}

#waitlist_form p {
  margin-bottom: var(--gap--s);
  font-weight: 400;
}

.log-in--submit {
  margin-bottom: var(--gap);
}

.form--forgot,
.form--reset,
.form--account,
.my--account,
.page #mc-embedded-subscribe-form {
  max-width: 560px;
  margin: var(--gap) auto;
}

.my--account {
  margin-left: 0;
}

.order-history table {
  border: 0;
}

.order-history tr:first-of-type {
  background-color: var(--primary) !important;
}

.order-history th {
  color: #fff;
  font-weight: 400 !important;
}

.order-history tr:nth-child(odd) {
  background-color: var(--primary-50);
}

.order-history tr:nth-child(even) {
  background-color: #ffffff;
}

.order-history td {
  padding: var(--gap--s);
}

.order-history td,
.order-history td a {
  font-weight: 200;
  font-size: 16px;
}

.order-history td a:hover {
  color: var(--secondary);
}

.forgot--email input[type="email"],
.reset--password input[type="password"] {
  border: 2px solid var(--primary-900);
}

.page #mc-embedded-subscribe-form {
  background: var(--primary);
  border-radius: var(--rounded);
  padding: var(--gap);
  text-align: center;
}

.page #mc-embedded-subscribe-form h1,
.page #mc-embedded-subscribe-form h2 {
  font-family: var(--font--secondary);
  color: #fff;
}

.page #mc-embedded-subscribe-form p {
  margin: var(--gap) auto;
  color: #fff;
}

.page #mc-embedded-subscribe-form input[type="email"] {
  color: var(--primary-900);
  background: #fff;
  border: 0;
  height: 64px;
  text-align: center;
  font-size: 24px;
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: 1.92px;
  border-radius: var(--rounded);
}

.page #mc-embedded-subscribe-form input[type="email"]::placeholder {
  color: var(--primary);
}

.page #mc-embedded-subscribe-form button {
  background: var(--secondary);
  color: #fff;
}

/* Floater */
#floater {
  position: fixed;
  bottom: var(--gap);
  left: var(--gap);
  z-index: 1000;
}

#floater a {  
  padding: var(--gap--s) var(--gap--m);
  background-color: var(--primary);
  font-family: var(--font--secondary);
  color: #fff;
  border: none;
  text-decoration: none;
  border-radius: var(--rounded--s);
  box-shadow: var(--box-shadow--dark);
  font-size: 21px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 2.24px;
}

#floater a:hover {
  background-color: var(--action);
}

.floater-close {
  position: absolute;
  top: -2rem;
  right: -1rem;
  background-color: var(--accent-800);
  color: #fff;
  z-index: 1001;
}

.floater-close:hover {
  background: var(--secondary);
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input[type=checkbox],
  input[type=radio] {
    --active: var(--primary);
    --active-inner: #FFF;
    --focus: 2px rgba(39, 94, 254, .3);
    --border: var(--border--light);
    --border-hover: var(--primary);
    --background: #fff;
    --disabled: #F6F8FF;
    --disabled-inner: #E1E6F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 18px;
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
    transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
  }
  input[type=checkbox]:after,
  input[type=radio]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
  }
  input[type=checkbox]:checked,
  input[type=radio]:checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: .3s;
    --d-t: .6s;
    --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
  }
  input[type=checkbox]:disabled,
  input[type=radio]:disabled {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
  }
  input[type=checkbox]:disabled:checked,
  input[type=radio]:disabled:checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
  }
  input[type=checkbox]:disabled + label,
  input[type=radio]:disabled + label {
    cursor: not-allowed;
  }
  
  input[type=checkbox]:hover:not(:checked):not(:disabled),
  input[type=radio]:hover:not(:checked):not(:disabled) {
    --bc: var(--border-hover);
  }
  input[type=checkbox]:focus,
  input[type=radio]:focus {
    box-shadow: 0 0 0 var(--focus);
  }
  input[type=checkbox]:not(.switch),
  input[type=radio]:not(.switch) {
    width: 18px;
  }
  input[type=checkbox]:not(.switch):after,
  input[type=radio]:not(.switch):after {
    opacity: var(--o, 0);
  }
  input[type=checkbox]:not(.switch):checked,
  input[type=radio]:not(.switch):checked {
    --o: 1;
  }
  input[type=checkbox] + label,
  input[type=radio] + label {
    font-size: 14px;
    line-height: 21px;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    margin-left: 4px;
  }

  input[type=checkbox]:not(.switch) {
    border-radius: var(--rounded);
  }
  input[type=checkbox]:not(.switch):after {
    width: 5px;
    height: 9px;
    border: 2px solid var(--active-inner);
    border-top: 0;
    border-left: 0;
    left: 5.5px;
    top: 3px;
    transform: rotate(var(--r, 20deg));
  }
  input[type=checkbox]:not(.switch):checked {
    --r: 43deg;
  }
  input[type=checkbox].switch {
    width: 38px;
    border-radius: 4px;
  }
  input[type=checkbox].switch:after {
    left: 2px;
    top: 2px;
    border-radius: var(--rounded);
    width: 15px;
    height: 15px;
    background: var(--ab, var(--border));
    transform: translateX(var(--x, 0));
  }
  input[type=checkbox].switch:checked {
    --ab: var(--active-inner);
    --x: 17px;
  }
  input[type=checkbox].switch:disabled:not(:checked):after {
    opacity: 0.6;
  }

  input[type=radio] {
    border-radius: 50%;
  }
  input[type=radio]:after {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--active-inner);
    opacity: 0;
    transform: scale(var(--s, 0.7));
  }
  input[type=radio]:checked {
    --s: .5;
  }
  
  input[type=checkbox]:hover,
  input[type=radio]:hover,
  .filter-wrapper label:hover {
    cursor: pointer !important;
  }
}

.choices--delivery {
  margin: var(--gap--s) auto;
}

.choices--delivery > label {
  line-height: 2;
}

.gift-card--amount {
  font-weight: 400;
  color: var(--primary);
}

/* Recaptcha */
.grecaptcha-badge {
  visibility: hidden;
}

/* Scheduler */
.page.page--scheduler label:has(input[type='radio']:checked) {
  color: var(--primary);
  font-weight: 400;
}

.page.page--scheduler label,
.page.page--scheduler p {
  font-weight: 300;
  font-size: 1rem;
  margin-top: var(--gap--xs);
}

.page.page--scheduler p {
  margin-top: var(--gap);
}

.page.page--scheduler input[type="radio"][name="pickup_time"] {
  margin-top: 0;
}