.product-cart-notice {
  margin-bottom: 2.5rem;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .product-cart-notice {
    grid-column: 2/span 14;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1.5rem;
    padding: 0;
  }
}
.product-cart-notice__cart-notice {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  grid-column: span 4/span 4;
  background: var(--white);
  padding: 1rem;
}
@media only screen and (min-width: 768px) {
  .product-cart-notice__cart-notice {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .product-cart-notice__cart-notice {
    grid-column: span 16;
    padding: 1.5rem;
  }
}
.product-cart-notice__cart-notice ul {
  display: grid;
  row-gap: 0.25rem;
}

.product {
  display: block;
  padding: 3rem 1rem;
  background-color: var(--yellow);
}
@media only screen and (min-width: 768px) {
  .product {
    margin: 0 -1.5rem;
    padding: 3rem 1.5rem;
    grid-column: 1/span 12;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 3rem;
  }
  .modules .product {
    grid-column: 1/span 1;
  }
}
.product__media-comp {
  display: grid;
}
@media only screen and (min-width: 768px) {
  .product__media-comp {
    grid-column: 1/span 6;
  }
}
.product__media {
  display: grid;
  margin-bottom: 2rem;
  transition: opacity 0.3s ease;
  align-content: start;
  row-gap: 3rem;
}
@media only screen and (min-width: 768px) {
  .product__media {
    margin-bottom: 0;
    grid-column: 1/span 6;
    position: relative;
  }
}
.product__media .add-ons {
  display: none;
}
@media only screen and (min-width: 768px) {
  .product__media .add-ons {
    display: block;
  }
}
.loading-reset .product__media {
  opacity: 0;
}
.product__media sticky-media {
  display: block;
  height: 100%;
}
.product__media-wrapper .ratio-box {
  display: none;
}
.product__media-wrapper .ratio-box:first-child {
  display: block;
}
@media only screen and (min-width: 768px) {
  .product__media-wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
    height: calc(var(--vh) * 100 - 12rem);
  }
  .product__media-wrapper .ratio-box {
    display: block;
    position: absolute;
    padding-bottom: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease;
    opacity: 0;
  }
  .product__media-wrapper .ratio-box:first-child {
    opacity: 1;
  }
  .product__media-wrapper .ratio-box.seen {
    opacity: 1;
  }
}
@media only screen and (min-width: 768px) {
  .product__info {
    grid-column: 8/span 4;
  }
}
.product__title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .product__title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.product__price {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .product__price {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.product__price del {
  color: var(--grey);
}
.product__description {
  margin-bottom: 2rem;
}
.product__description p:not(:last-child) {
  margin-bottom: var(--mb);
}
.product__bundle-title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.3125rem;
  font-size: 0.875rem;
  letter-spacing: 1.5px;
  line-height: 1.3125rem;
  border-bottom: 1px solid var(--grey);
  margin-bottom: var(--mb);
}

.product-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .product-gallery {
    margin-bottom: 2rem;
  }
}
.product-gallery.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 8rem;
}
.product-gallery__slide {
  width: 100%;
}
.product-gallery .flickity-viewport {
  margin-bottom: 1rem;
}
.product-gallery .flickity-button {
  position: absolute;
  top: calc(50% - 2rem);
}
.product-gallery .flickity-button.previous {
  left: 1rem;
}
.product-gallery .flickity-button.next {
  right: 1rem;
}
.product-gallery .flickity-button-icon {
  width: 100%;
}
.product-gallery .flickity-page-dots {
  width: 100%;
}

.add-to-cart {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .add-to-cart {
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.add-to-cart__out-of-stock {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.3125rem;
  font-size: 0.875rem;
  letter-spacing: 1.5px;
  line-height: 1.3125rem;
  color: var(--grey);
  grid-column: span 4;
  grid-row: -1;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__out-of-stock {
    grid-column: span 7;
  }
}
.add-to-cart__buy {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  grid-column: span 2;
  background: var(--white);
  text-align: center;
}
.add-to-cart__add {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  grid-column: span 2;
  background: var(--yellow);
  border: 1px solid;
  color: var(--black);
}
@media only screen and (min-width: 768px) {
  .add-to-cart__add {
    grid-column: span 5;
    cursor: pointer;
  }
}
.add-to-cart__add:disabled {
  background: rgba(var(--black_rgb), 0.5);
  border: 0 none;
  pointer-events: none;
}
.add-to-cart__add span {
  display: none;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__add span {
    display: inline;
  }
}
.add-to-cart__home {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  background: var(--black);
  color: var(--white);
  width: 100%;
}
.add-to-cart__field {
  border: 1px solid var(--grey);
  border-radius: 0.25rem;
  position: relative;
  -webkit-font-smothing: antialiased;
  grid-column: span 4;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__field {
    grid-column: span 7;
  }
}
.add-to-cart__field--email label, .add-to-cart__field--text label, .add-to-cart__field--textarea label {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  position: absolute;
  pointer-events: none;
  transform-origin: 0 50%;
  transition: transform 200ms, color 200ms;
  top: 1rem;
  left: 1rem;
}
.add-to-cart__field--email input,
.add-to-cart__field--email select,
.add-to-cart__field--email textarea, .add-to-cart__field--text input,
.add-to-cart__field--text select,
.add-to-cart__field--text textarea, .add-to-cart__field--textarea input,
.add-to-cart__field--textarea select,
.add-to-cart__field--textarea textarea {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  display: block;
  width: 100%;
  padding: 1rem 1rem 0.875rem 1rem;
}
.add-to-cart__field--email input::-moz-placeholder, .add-to-cart__field--email select::-moz-placeholder, .add-to-cart__field--email textarea::-moz-placeholder, .add-to-cart__field--text input::-moz-placeholder, .add-to-cart__field--text select::-moz-placeholder, .add-to-cart__field--text textarea::-moz-placeholder, .add-to-cart__field--textarea input::-moz-placeholder, .add-to-cart__field--textarea select::-moz-placeholder, .add-to-cart__field--textarea textarea::-moz-placeholder {
  opacity: 0;
}
.add-to-cart__field--email input::placeholder,
.add-to-cart__field--email select::placeholder,
.add-to-cart__field--email textarea::placeholder, .add-to-cart__field--text input::placeholder,
.add-to-cart__field--text select::placeholder,
.add-to-cart__field--text textarea::placeholder, .add-to-cart__field--textarea input::placeholder,
.add-to-cart__field--textarea select::placeholder,
.add-to-cart__field--textarea textarea::placeholder {
  opacity: 0;
}
.add-to-cart__field--email input:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--email select:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--email textarea:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--text input:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--text select:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--text textarea:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--textarea input:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--textarea select:not(:-moz-placeholder-shown) ~ label, .add-to-cart__field--textarea textarea:not(:-moz-placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
  color: var(--grey);
}
.add-to-cart__field--email input:focus ~ label, .add-to-cart__field--email input:not(:placeholder-shown) ~ label,
.add-to-cart__field--email select:focus ~ label,
.add-to-cart__field--email select:not(:placeholder-shown) ~ label,
.add-to-cart__field--email textarea:focus ~ label,
.add-to-cart__field--email textarea:not(:placeholder-shown) ~ label, .add-to-cart__field--text input:focus ~ label, .add-to-cart__field--text input:not(:placeholder-shown) ~ label,
.add-to-cart__field--text select:focus ~ label,
.add-to-cart__field--text select:not(:placeholder-shown) ~ label,
.add-to-cart__field--text textarea:focus ~ label,
.add-to-cart__field--text textarea:not(:placeholder-shown) ~ label, .add-to-cart__field--textarea input:focus ~ label, .add-to-cart__field--textarea input:not(:placeholder-shown) ~ label,
.add-to-cart__field--textarea select:focus ~ label,
.add-to-cart__field--textarea select:not(:placeholder-shown) ~ label,
.add-to-cart__field--textarea textarea:focus ~ label,
.add-to-cart__field--textarea textarea:not(:placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
  color: var(--grey);
}
.add-to-cart__field--select {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  width: 100%;
  border: 1px solid;
  padding: 1rem 2.75rem 0.875rem 1rem;
  border-radius: 0.25rem;
  background: no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath d='m0 0 5 5 5-5z' fill='%231A1A1A'/%3E%3C/svg%3E");
  background-size: 10px 5px;
  background-position: center right 22px;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__field--select {
    cursor: pointer;
  }
}
.add-to-cart__opt-inputs {
  display: block;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__opt-inputs {
    grid-column: span 7;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
}
details .add-to-cart__opt-inputs {
  margin: 0;
  padding-top: 1rem;
}
.add-to-cart__opt-radio-qty {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__opt-radio-qty {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: start;
  }
}
.add-to-cart__opt-radio-qty:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__opt-radio-qty:not(:last-child) {
    margin-bottom: 0;
  }
}
.add-to-cart__opt-radio-qty > input {
  position: absolute;
}
.add-to-cart__opt-radio-qty > input:checked + label {
  background: var(--black);
  color: var(--white);
}
.add-to-cart__opt-radio-qty > input:checked ~ .qty {
  pointer-events: auto;
  opacity: 1;
}
.add-to-cart__opt-radio-qty > label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1rem 1rem 0.875rem 1rem;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  border-radius: 0.25rem;
  transition: all 0.1s ease;
}
.add-to-cart__opt-radio-qty > label span:last-child {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__opt-radio-qty > label span:last-child {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .add-to-cart__opt-radio-qty > label {
    cursor: pointer;
    grid-column: span 5;
  }
}
.add-to-cart__opt-radio-qty > label ~ .qty {
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.1s ease;
}
.add-to-cart__opt-radio-qty .addon-extra {
  width: 100%;
}
.add-to-cart__message-triggers {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__message-triggers {
    grid-column: span 7;
  }
}
.add-to-cart__message-trigger {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .add-to-cart__message-trigger {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .add-to-cart__message-trigger {
    display: inline-block;
    text-underline-offset: 0.3125rem;
    margin-bottom: 1rem;
    cursor: pointer;
  }
}

.qty {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.5rem;
  border: 1px solid var(--black);
  border-radius: 2rem;
  grid-column: span 2;
}
.qty.disabled {
  border-color: rgba(var(--black_rgb), 0.5);
  pointer-events: none;
}
.qty__less, .qty__more {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  padding: 0.625rem 1rem 0.4375rem;
}
@media only screen and (min-width: 768px) {
  .qty__less, .qty__more {
    cursor: pointer;
  }
}
.qty__less:disabled, .qty__more:disabled {
  color: rgba(var(--black_rgb), 0.5);
}
.qty__qty {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  padding: 0.625rem 0 0.4375rem;
  text-align: center;
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
  width: 100%;
}
.qty__qty::-webkit-inner-spin-button, .qty__qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.qty__qty:disabled {
  color: rgba(var(--black_rgb), 0.5);
}

.product-drawers__drawer {
  border-top: 1px solid;
  background: no-repeat calc(100% - 6px) 20.59px url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41.59 6 5.17 10.59.59 12 2 6 8 0 2z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.product-drawers__drawer[open] {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41 7.41 6 2.83l4.59 4.58L12 6 6 0 0 6z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.product-drawers__drawer:last-child {
  border-bottom: 1px solid;
}
.product-drawers__title {
  list-style-type: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.5rem 0.875rem 0;
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .product-drawers__title {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.product-drawers__content {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .product-drawers__content {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}

.bundle {
  border-bottom: 1px solid var(--placeholder);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.bundle__title {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .bundle__title {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.bundle__description {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .bundle__description {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.bundle__description p:not(:last-child) {
  margin-bottom: var(--mb);
}
.bundle__opt-radio-qty {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-radio-qty {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: start;
  }
}
.bundle__opt-radio-qty:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-radio-qty:not(:last-child) {
    margin-bottom: 0;
  }
}
.bundle__opt-radio-qty > input {
  position: absolute;
}
.bundle__opt-radio-qty > input:checked + label {
  background: var(--black);
  color: var(--white);
}
.bundle__opt-radio-qty > input:checked + label:after {
  content: "";
  display: block;
  background: no-repeat 50% url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.78 1.22 5l-.947.94L4 9.667l8-8-.94-.94z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
}
.bundle__opt-radio-qty > input:checked ~ .qty {
  display: flex;
  pointer-events: auto;
  opacity: 1;
}
.bundle__opt-radio-qty > label {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1rem 1rem 0.875rem 3rem;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  border-radius: 0.25rem;
  transition: all 0.1s ease;
}
.bundle__opt-radio-qty > label span:last-child {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-radio-qty > label span:last-child {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .bundle__opt-radio-qty > label {
    cursor: pointer;
    grid-column: span 5;
  }
}
.bundle__opt-radio-qty > label:before {
  content: "";
  display: block;
  background: var(--offwhite);
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--black);
  border-radius: 50%;
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
}
.bundle__opt-radio-qty > label ~ .qty {
  pointer-events: none;
  opacity: 0.5;
  transition: opacity 0.1s ease;
  margin-top: 0.5rem;
  display: none;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-radio-qty > label ~ .qty {
    display: flex;
    opacity: 0;
    margin-top: 0;
  }
}
.bundle__opt-radio-qty .addon-extra {
  width: 100%;
}
.bundle__opt-select-qty {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-select-qty {
    grid-column: span 7;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: start;
  }
}
.bundle__opt-select-qty:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .bundle__opt-select-qty:not(:last-child) {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .bundle__opt-select-qty > select {
    grid-column: span 5;
  }
}

.home-variants {
  margin: 3rem 0;
}
@media only screen and (min-width: 768px) {
  .home-variants {
    margin: 6rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .home-variants__tabs {
    display: grid;
    grid-template-columns: repeat(var(--tab-count), 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.home-variants__tabs > label {
  display: block;
  cursor: pointer;
  padding: 0.5rem;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  text-align: center;
  border-bottom: 1px solid;
  margin-bottom: 1.5rem;
  transition: opacity 0.1s ease;
  opacity: 0.25;
}
@media only screen and (min-width: 768px) {
  .home-variants__tabs > label {
    order: 1;
  }
}
.home-variants__tabs > div {
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .home-variants__tabs > div {
    margin-bottom: 0;
  }
}
.home-variants__tabs > [type=radio] {
  display: none;
}
.home-variants__tabs > [type=radio]:checked + label {
  opacity: 1;
}
.home-variants__tabs > [type=radio]:not(:checked) + label + * {
  display: none;
}
.home-variants__tabs > [type=radio] + label + div {
  grid-column: span 2;
  order: 2;
}
.home-variants__tab .product-drawers__drawer:first-child {
  border-top: 0 none;
}

.home-build {
  position: relative;
}
.home-build .sprig-component {
  scroll-margin-top: 5rem;
}
.home-build__title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-top: 6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid;
  margin-bottom: 1.75rem;
}
@media only screen and (min-width: 768px) {
  .home-build__title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.home-build__sticker {
  position: -webkit-sticky;
  position: sticky;
  top: 8rem;
  border: 0 none;
  padding: 0;
  margin: 0;
  transition: opacity 0.3s ease;
}
.home-build__sticker:disabled {
  opacity: 0.25;
  pointer-events: none;
}
.home-build__opt {
  display: block;
  border-bottom: 1px solid var(--placeholder);
  min-height: calc(50 * var(--vhs));
  padding: 2rem 0;
}
@media only screen and (min-width: 768px) {
  .home-build__opt {
    padding: 3rem 0;
  }
}
.home-build__opt-v2 {
  display: block;
  padding: 2rem 0;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-v2 {
    padding: 3rem 0;
  }
}
.home-build__opt-v2 + .home-build__opt-v2 {
  border-top: 1px solid var(--placeholder);
}
.home-build__opt:empty, .home-build__opt-v2:empty {
  display: none;
}
.home-build__opt .qty__less, .home-build__opt .qty__more, .home-build__opt-v2 .qty__less, .home-build__opt-v2 .qty__more {
  padding: 1rem 1rem 0.875rem 1rem;
}
.home-build__opt .qty__qty, .home-build__opt-v2 .qty__qty {
  padding: 1rem 0 0.875rem 0;
}
.home-build__opt-title {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  font-size: 0.5625rem;
  letter-spacing: 1.25px;
  line-height: 0.875rem;
  margin-bottom: 0.5rem;
}
.home-build__opt-subtitle {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.home-build__opt-info {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  display: block;
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
  margin-bottom: 1.5rem;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-info {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.home-build__opt-info--under {
  margin-top: 1rem;
}
.home-build__opt-info:is(summary) {
  margin: 0;
}
.home-build__opt-info span {
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
}
.home-build__opt-info span:first-child {
  display: inline;
}
[open] .home-build__opt-info span:first-child {
  display: none;
}
.home-build__opt-info span:last-child {
  display: none;
}
[open] .home-build__opt-info span:last-child {
  display: inline;
}
.home-build__opt-inputs {
  display: block;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-inputs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
}
details .home-build__opt-inputs {
  margin: 0;
  padding-top: 1rem;
}
.home-build__opt-select {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  color: inherit;
  width: 100%;
  border: 1px solid;
  padding: 1rem 2.75rem 0.875rem 1rem;
  border-radius: 0.25rem;
  background: no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath d='m0 0 5 5 5-5z' fill='%231A1A1A'/%3E%3C/svg%3E");
  background-size: 10px 5px;
  background-position: center right 22px;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-select {
    cursor: pointer;
  }
}
.home-build__opt-radio {
  position: relative;
}
.home-build__opt-radio:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio:not(:last-child) {
    margin-bottom: 0;
  }
}
.home-build__opt-radio > input {
  position: absolute;
}
.home-build__opt-radio > input:checked + label {
  background: var(--black);
  color: var(--white);
}
.home-build__opt-radio > input:checked + label:after {
  content: "";
  display: block;
  background: no-repeat 50% url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.78 1.22 5l-.947.94L4 9.667l8-8-.94-.94z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
}
.home-build__opt-radio > label {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1rem 0.875rem 1rem;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.1s ease;
}
.home-build__opt-radio > label span:last-child {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio > label span:last-child {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.home-build__opt-radio > label:before {
  content: "";
  display: block;
  background: var(--offwhite);
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--black);
  border-radius: 50%;
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
}
.home-build__opt-radio-qty {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio-qty {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: start;
  }
}
.home-build__opt-radio-qty:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio-qty:not(:last-child) {
    margin-bottom: 0;
  }
}
.home-build__opt-radio-qty > input {
  position: absolute;
}
.home-build__opt-radio-qty > input:checked + label {
  background: var(--black);
  color: var(--white);
}
.home-build__opt-radio-qty > input:checked ~ .qty {
  display: flex;
  pointer-events: auto;
  opacity: 1;
}
.home-build__opt-radio-qty > label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1rem 1rem 0.875rem 1rem;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  border-radius: 0.25rem;
  transition: all 0.1s ease;
}
.home-build__opt-radio-qty > label span:last-child {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio-qty > label span:last-child {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio-qty > label {
    cursor: pointer;
    grid-column: span 5;
  }
}
.home-build__opt-radio-qty > label ~ .qty {
  pointer-events: none;
  opacity: 0.5;
  transition: opacity 0.1s ease;
  margin-top: 0.5rem;
  display: none;
}
@media only screen and (min-width: 768px) {
  .home-build__opt-radio-qty > label ~ .qty {
    display: flex;
    opacity: 0;
    margin-top: 0;
  }
}
.home-build__opt-radio-qty .addon-extra {
  width: 100%;
}
.home-build__continue {
  padding-top: 1.5rem;
  display: grid;
  row-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .home-build__continue {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
}
.home-build__continue .button {
  width: 100%;
}
.home-build__continue .button:disabled {
  opacity: 0.25;
}
@media only screen and (min-width: 768px) {
  .home-build__continue .button.full-button {
    grid-column: span 7;
  }
  .home-build__continue .button.small-button {
    grid-column: span 2;
  }
  .home-build__continue .button.large-button {
    grid-column: span 5;
  }
}
.home-build__progress {
  border: 1px solid var(--green);
  margin-top: 3.5rem;
}
.home-build__progress:before {
  display: block;
  content: "";
  width: var(--progress);
  height: 1rem;
  background: var(--green);
  transition: width 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .home-build__hidden-group {
    grid-column: span 2/span 2;
  }
}
.home-build__totals {
  padding: 2rem 0;
}
@media only screen and (min-width: 768px) {
  .home-build__totals {
    padding: 3rem 0;
  }
}
.home-build__totals fieldset {
  border: 0 none;
  padding: 0;
  margin: 0;
}
.home-build__totals fieldset:disabled {
  opacity: 0.25;
  pointer-events: none;
}
.home-build__subtotals {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .home-build__subtotals {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.home-build__info {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
  .home-build__info {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .home-build__info {
    margin-bottom: 3rem;
  }
}

meal-step {
  display: block;
  transition: opacity 0.3s ease;
}

#loader {
  display: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0px);
}
#loader.loading {
  display: inline-block;
}
#loader.loading ~ meal-step {
  opacity: 0;
}
#loader:before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: -4px;
  top: -4px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border-top: 4px solid var(--beige);
  border-right: 4px solid transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
#loader:after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: -4px;
  top: -4px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border-left: 4px solid var(--green);
  border-bottom: 4px solid transparent;
  animation: rotation 1s linear infinite reverse;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
