* {
  font-family: "Libre Baskerville", serif;
  font-size: 16px;
}

p,
a {
  font-family: "Libre Baskerville", serif;
  font-size: 16px;
  letter-spacing: 0px;
  box-sizing: inherit;
}
@media (max-width: 425px) {
  p,
  a {
    font-size: 14px;
  }
}
p::before, p::after,
a::before,
a::after {
  box-sizing: inherit;
}

@media only screen and (max-width: 575.98px) {
  * {
    font-size: 14px;
  }
}
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  height: 100%;
}

body {
  color: var(--text-primary-color);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  font-size: 1.5rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: "Libre Baskerville", serif;
  font-style: normal;
  font-weight: 400;
}
body.fixed, body:has(.modal-container.active) {
  overflow: hidden;
  touch-action: none;
}

@media only screen and (min-width: 769px) {
  body {
    font-size: 1.6rem;
  }
}
main#MainContent {
  flex: 1;
}

h1,
.h1 {
  color: var(--heading-color);
}

h2,
.h2,
h3,
h4,
.h4,
h5,
.h5 {
  color: var(--subheading-color);
}

a {
  text-decoration: none;
  color: var(--primary-color);
}
a:hover {
  color: var(--primary-color);
}
h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.heading-sm,
.heading-md,
.heading-lg {
  font-family: "Libre Baskerville", serif;
  font-style: normal;
  font-weight: 700;
  word-break: initial;
  margin: 0;
}
h1 em,
h1 strong,
h1 i,
h1 b,
h2 em,
h2 strong,
h2 i,
h2 b,
h3 em,
h3 strong,
h3 i,
h3 b,
h4 em,
h4 strong,
h4 i,
h4 b,
h5 em,
h5 strong,
h5 i,
h5 b,
.h0 em,
.h0 strong,
.h0 i,
.h0 b,
.h1 em,
.h1 strong,
.h1 i,
.h1 b,
.h2 em,
.h2 strong,
.h2 i,
.h2 b,
.h3 em,
.h3 strong,
.h3 i,
.h3 b,
.h4 em,
.h4 strong,
.h4 i,
.h4 b,
.h5 em,
.h5 strong,
.h5 i,
.h5 b,
.heading-sm em,
.heading-sm strong,
.heading-sm i,
.heading-sm b,
.heading-md em,
.heading-md strong,
.heading-md i,
.heading-md b,
.heading-lg em,
.heading-lg strong,
.heading-lg i,
.heading-lg b {
  font-family: "Libre Baskerville", serif;
}

@media only screen and (max-width: 575.98px) {
  .heading-lg {
    font-size: var(--heading-lg-mobile);
  }
  .heading-lg em,
  .heading-lg strong,
  .heading-lg i,
  .heading-lg b {
    font-size: var(--heading-lg-mobile);
  }
}
@media only screen and (min-width: 576px) {
  .heading-lg {
    font-size: var(--heading-lg-tablet);
  }
  .heading-lg em,
  .heading-lg strong,
  .heading-lg i,
  .heading-lg b {
    font-size: var(--heading-lg-tablet);
  }
}
@media only screen and (min-width: 1200px) {
  .heading-lg {
    font-size: var(--heading-lg);
  }
  .heading-lg em,
  .heading-lg strong,
  .heading-lg i,
  .heading-lg b {
    font-size: var(--heading-lg);
  }
}
@media only screen and (min-width: 769px) {
  .heading-md {
    font-size: var(--heading-md-tablet);
  }
}
@media only screen and (max-width: 575.98px) {
  .heading-md {
    font-size: var(--heading-md-mobile);
  }
}
.heading-sm {
  font-size: var(--heading-sm);
}

h2 {
  font-size: 22px;
  line-height: 34px;
}
@media only screen and (min-width: 992px) {
  h2 {
    font-size: 28px;
    line-height: 38px;
  }
}
h2 em,
h2 strong,
h2 b {
  font-size: 22px;
  line-height: 34px;
}
@media only screen and (min-width: 992px) {
  h2 em,
  h2 strong,
  h2 b {
    font-size: 28px;
    line-height: 38px;
  }
}
h2 em {
  font-weight: normal;
}

.rte p,
.rte em,
.rte strong,
.rte b,
.rte a {
  font-size: 14px;
  line-height: 24px;
}
.rte p a,
.rte p em,
.rte p strong,
.rte p b,
.rte em a,
.rte em em,
.rte em strong,
.rte em b,
.rte strong a,
.rte strong em,
.rte strong strong,
.rte strong b,
.rte b a,
.rte b em,
.rte b strong,
.rte b b,
.rte a a,
.rte a em,
.rte a strong,
.rte a b {
  font-size: 14px;
  line-height: 24px;
}

.section-title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px) {
  .section-title {
    margin-bottom: 40px;
  }
}

strong {
  font-weight: bold;
}

.rich-text-container.heading-lg p,
.rich-text-container.heading-lg strong,
.rich-text-container.heading-lg em,
.rich-text-container.heading-lg a {
  font-size: var(--heading-lg);
}
.rich-text-container.heading-md p,
.rich-text-container.heading-md strong,
.rich-text-container.heading-md em,
.rich-text-container.heading-md a {
  font-size: var(--heading-md);
}
.rich-text-container.heading-sm p,
.rich-text-container.heading-sm strong,
.rich-text-container.heading-sm em,
.rich-text-container.heading-sm a {
  font-size: var(--heading-sm);
}

@media only screen and (max-width: 768.98px) {
  .rich-text-container.heading-lg p,
  .rich-text-container.heading-lg strong,
  .rich-text-container.heading-lg em,
  .rich-text-container.heading-lg a {
    font-size: var(--heading-md-tablet);
  }
  .rich-text-container.heading-md p,
  .rich-text-container.heading-md strong,
  .rich-text-container.heading-md em,
  .rich-text-container.heading-md a {
    font-size: var(--heading-md-tablet);
  }
}
@media only screen and (max-width: 575.98px) {
  .rich-text-container.heading-lg p,
  .rich-text-container.heading-lg strong,
  .rich-text-container.heading-lg em,
  .rich-text-container.heading-lg a {
    font-size: var(--heading-lg-mobile);
  }
  .rich-text-container.heading-md p,
  .rich-text-container.heading-md strong,
  .rich-text-container.heading-md em,
  .rich-text-container.heading-md a {
    font-size: var(--heading-md-mobile);
  }
}
button:not([class^=button-]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border: none;
  cursor: pointer;
}

.button {
  background: var(--primary-color);
  color: var(--button-1-text-color);
  border-radius: var(--button-1-radius);
  font-weight: 700;
  border: none;
  cursor: pointer;
  outline: none;
  line-height: 1.15;
}
.button, .button * {
  font-size: var(--button-font-size);
}
.button:hover {
  background-color: var(--button-1-hover-color);
  color: var(--button-1-hover-text-color);
  border-radius: var(--button-1-hover-radius);
}

button,
input:not(.custom-filter .filter-body input[type=checkbox]),
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.button-1 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-1-color);
  color: var(--button-1-text-color);
  border-radius: var(--button-1-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-1-border-color);
}
.button-1 i,
.button-1 svg,
.button-1 i svg,
.button-1 i svg path,
.button-1 svg path {
  fill: var(--button-1-text-color);
}
.button-1:hover {
  background-color: var(--button-1-hover-color);
  color: var(--button-1-hover-text-color);
  border-radius: var(--button-1-hover-radius);
  border: solid 2px var(--button-1-hover-border-color);
}
.button-1:hover i,
.button-1:hover svg,
.button-1:hover i svg,
.button-1:hover i svg path,
.button-1:hover svg path {
  fill: var(--button-1-hover-text-color);
}

.button-2 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-2-color);
  color: var(--button-2-text-color);
  border-radius: var(--button-2-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-2-border-color);
}
.button-2 i,
.button-2 svg,
.button-2 i svg,
.button-2 i svg path,
.button-2 svg path {
  fill: var(--button-2-text-color);
}
.button-2:hover {
  background-color: var(--button-2-hover-color);
  color: var(--button-2-hover-text-color);
  border-radius: var(--button-2-hover-radius);
  border: solid 2px var(--button-2-hover-border-color);
}
.button-2:hover i,
.button-2:hover svg,
.button-2:hover i svg,
.button-2:hover i svg path,
.button-2:hover svg path {
  fill: var(--button-2-hover-text-color);
}

.button-3 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-3-color);
  color: var(--button-3-text-color);
  border-radius: var(--button-3-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-3-border-color);
}
.button-3 i,
.button-3 svg,
.button-3 i svg,
.button-3 i svg path,
.button-3 svg path {
  fill: var(--button-3-text-color);
}
.button-3:hover {
  background-color: var(--button-3-hover-color);
  color: var(--button-3-hover-text-color);
  border-radius: var(--button-3-hover-radius);
  border: solid 2px var(--button-3-hover-border-color);
}
.button-3:hover i,
.button-3:hover svg,
.button-3:hover i svg,
.button-3:hover i svg path,
.button-3:hover svg path {
  fill: var(--button-3-hover-text-color);
}

.button-4 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-4-color);
  color: var(--button-4-text-color);
  border-radius: var(--button-4-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-4-border-color);
}
.button-4 i,
.button-4 svg,
.button-4 i svg,
.button-4 i svg path,
.button-4 svg path {
  fill: var(--button-4-text-color);
}
.button-4:hover {
  background-color: var(--button-4-hover-color);
  color: var(--button-4-hover-text-color);
  border-radius: var(--button-4-hover-radius);
  border: solid 2px var(--button-4-hover-border-color);
}
.button-4:hover i,
.button-4:hover svg,
.button-4:hover i svg,
.button-4:hover i svg path,
.button-4:hover svg path {
  fill: var(--button-4-hover-text-color);
}

.button-5 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-5-color);
  color: var(--button-5-text-color);
  border-radius: var(--button-5-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-5-border-color);
}
.button-5 i,
.button-5 svg,
.button-5 i svg,
.button-5 i svg path,
.button-5 svg path {
  fill: var(--button-5-text-color);
}
.button-5:hover {
  background-color: var(--button-5-hover-color);
  color: var(--button-5-hover-text-color);
  border-radius: var(--button-5-hover-radius);
  border: solid 2px var(--button-5-hover-border-color);
}
.button-5:hover i,
.button-5:hover svg,
.button-5:hover i svg,
.button-5:hover i svg path,
.button-5:hover svg path {
  fill: var(--button-5-hover-text-color);
}

.button-6 {
  padding: var(--button-v-padding) var(--button-h-padding);
  background-color: var(--button-6-color);
  color: var(--button-6-text-color);
  border-radius: var(--button-6-radius);
  transition: var(--button-transition);
  font-size: var(--button-font-size);
  font-weight: 500;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
  border: solid 2px var(--button-6-border-color);
}
.button-6 i,
.button-6 svg,
.button-6 i svg,
.button-6 i svg path,
.button-6 svg path {
  fill: var(--button-6-text-color);
}
.button-6:hover {
  background-color: var(--button-6-hover-color);
  color: var(--button-6-hover-text-color);
  border-radius: var(--button-6-hover-radius);
  border: solid 2px var(--button-6-hover-border-color);
}
.button-6:hover i,
.button-6:hover svg,
.button-6:hover i svg,
.button-6:hover i svg path,
.button-6:hover svg path {
  fill: var(--button-6-hover-text-color);
}

[class^=button-].disabled,
[class^=button-].disabled:hover {
  background: #393939;
  border-color: #393939;
  opacity: 0.7;
}

.page-width {
  max-width: var(--page-width);
  padding: 0 1.5rem;
  margin: 0 auto;
}

@media only screen and (min-width: 1200px) {
  .page-width {
    padding: 0 5rem;
  }
}
@media only screen and (max-width: 319.98px) {
  .page-width {
    padding: 0 1rem;
  }
}
.page-width-left {
  margin: 0 auto;
  width: 100%;
  padding-left: calc((100vw - var(--page-width)) / 2 + 5.5rem);
}

@media only screen and (max-width: 768.98px) {
  .page-width-left {
    padding-left: calc((100vw - var(--page-width)) / 2 + 8.3rem);
  }
}
.page-width-right {
  margin: 0 auto;
  width: 100%;
  padding-right: calc((100vw - var(--page-width)) / 2 + 5.5rem);
}

@media only screen and (max-width: 768.98px) {
  .page-width-right {
    padding-right: calc((100vw - var(--page-width)) / 2 + 8.3rem);
  }
}
.select {
  width: 100%;
  position: relative;
}

.form-errors {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  grid-column: 1/-1;
  left: 0;
  padding: 5px 10px;
  margin: 10px auto;
  color: white;
  background: #cb3840;
  border: solid 2px #b3333a;
  border-radius: 5px;
}
@media only screen and (max-width: 575.98px) {
  .form-errors {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}
.form-errors .icon-error {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  color: #b3333a;
}
.form-errors .form__message {
  color: white;
}
.form-errors .form__message strong {
  font-weight: 700;
}
.form-errors ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.form-errors ul li {
  color: white;
}
.form-errors ul li a {
  color: inherit;
  text-decoration: underline;
}

.form__message {
  display: flex;
  align-items: center;
  gap: 7px;
}
.form__message:focus-visible {
  outline: none;
}
.form__message svg {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
}
.form__message .icon-error {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  color: #b3333a;
}
.form__message strong {
  font-weight: 700;
}

.form-success {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  grid-column: 1/-1;
  left: 0;
  padding: 5px 10px;
  margin: 10px auto;
  color: white;
  background: #428445;
  border: solid 2px #346937;
  border-radius: 5px;
}
@media only screen and (max-width: 575.98px) {
  .form-success {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}
.form-success .success-icon {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
}

.is-hidden {
  display: none;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.icon {
  width: 32px;
  height: 32px;
}

.cookie-notice-wrapper {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
}
.cookie-notice-wrapper .cookie-container {
  padding: 1.5rem;
  max-width: 998px;
  box-sizing: border-box;
  border-radius: 10px;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.25);
  background-color: #ffffff;
  width: 90vw;
  max-width: 500px;
  min-width: auto;
}
@media only screen and (min-width: 992px) {
  .cookie-notice-wrapper .cookie-container {
    padding: 2rem;
  }
}
.cookie-notice-wrapper .cookie-container.shrunk {
  max-width: 400px;
}
.cookie-notice-wrapper .cookie-container.shrunk button {
  width: 100%;
}
.cookie-notice-wrapper .cookie-container .title-wrap > div {
  font-size: var(--heading-sm);
}
.cookie-notice-wrapper .cookie-container .title-wrap p,
.cookie-notice-wrapper .cookie-container .msg-wrap p {
  margin: 1rem 0;
}
@media only screen and (min-width: 992px) {
  .cookie-notice-wrapper .cookie-container .title-wrap p,
  .cookie-notice-wrapper .cookie-container .msg-wrap p {
    margin: 2rem 0;
  }
}
.cookie-notice-wrapper .cookie-container .title-wrap a:hover,
.cookie-notice-wrapper .cookie-container .msg-wrap a:hover {
  text-decoration: underline;
}
.cookie-notice-wrapper .cookie-container form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cookie-notice-wrapper .cookie-container form input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 50px;
  height: 25px;
  background: #ccc;
  border-radius: 50px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: 0.4s;
}
.cookie-notice-wrapper .cookie-container form input[type=checkbox]:not([name=necessary]):hover::after {
  background: rgb(220, 220, 220);
}
.cookie-notice-wrapper .cookie-container form input[type=checkbox]:checked {
  background: var(--button-2-color);
}
.cookie-notice-wrapper .cookie-container form input[type=checkbox]::after {
  position: absolute;
  content: "";
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  transform: scale(1.1);
  transition: 0.4s;
}
.cookie-notice-wrapper .cookie-container form input[type=checkbox]:checked::after {
  left: 50%;
}
.cookie-notice-wrapper .cookie-container .flex-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem !important;
  box-sizing: border-box;
  flex-basis: calc(50% - 0.5rem);
  background-color: #F2F1EA;
  border-radius: 5px;
}
.cookie-notice-wrapper .cookie-container .flex-wrap label {
  font-weight: bold;
  display: block;
  margin-left: 1rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.cookie-notice-wrapper .cookie-container .form-row,
.cookie-notice-wrapper .cookie-container .button-row {
  display: flex;
  flex-wrap: wrap;
}
.cookie-notice-wrapper .cookie-container .form-row {
  gap: 1rem;
}
.cookie-notice-wrapper .cookie-container .button-row {
  gap: 1rem;
}
.cookie-notice-wrapper .cookie-container .button-row button {
  flex-basis: 100%;
}
.cookie-notice-wrapper .cookie-container .check-box {
  display: flex;
  align-items: center;
}
.cookie-notice-wrapper .cookie-container #necessaryInput .check-box {
  opacity: 50%;
}
.cookie-notice-wrapper .cookie-container #necessaryInput label,
.cookie-notice-wrapper .cookie-container #necessaryInput input:hover {
  cursor: not-allowed;
}

@media only screen and (max-width: 768.98px) {
  #cookieNotice.display-right {
    width: 85vw;
  }
}
.openSideCart {
  cursor: pointer;
  position: relative;
}

.basket {
  position: relative;
}
.basket .cart-counter {
  position: absolute;
  top: -5px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--primary-color);
  color: var(--button-1-text-color);
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  font-weight: 700;
  pointer-events: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 20px !important;
  color: var(--text-primary-color);
}

.customer {
  display: flex;
}

.swiper-scrollbar .swiper-scrollbar-drag,
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--primary-color);
}

.swiper-slide {
  height: auto;
}
.swiper-slide > a.product-card {
  height: 100%;
}

.cart-recommendations .swiper-slide > a.product-card {
  height: auto;
}

.margin-s {
  margin-top: var(--section-margin-s);
  margin-bottom: var(--section-margin-s);
}

.margin-m {
  margin-top: var(--section-margin-m);
  margin-bottom: var(--section-margin-m);
}

.margin-l {
  margin-top: var(--section-margin-l);
  margin-bottom: var(--section-margin-l);
}

.margin-bottom-l {
  margin-bottom: var(--section-margin-l);
}

.padding-s {
  padding-top: var(--section-padding-s);
  padding-bottom: var(--section-padding-s);
}

.padding-m {
  padding-top: var(--section-padding-m);
  padding-bottom: var(--section-padding-m);
}

.padding-l {
  padding-top: var(--section-padding-l);
  padding-bottom: var(--section-padding-l);
}

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

.padding-top-m {
  padding-top: var(--section-padding-m);
}

.padding-top-l {
  padding-top: var(--section-padding-l);
}

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

.padding-bottom-m {
  padding-bottom: var(--section-padding-m);
}

.padding-bottom-l {
  padding-bottom: var(--section-padding-l);
}

.vertical-padding {
  padding-top: var(--spacing-sections-desktop);
  padding-bottom: var(--spacing-sections-desktop);
}
@media only screen and (max-width: 768.98px) {
  .vertical-padding {
    padding-top: calc(var(--spacing-sections-desktop) * 0.6);
    padding-bottom: calc(var(--spacing-sections-desktop) * 0.6);
  }
}

.vertical-margin {
  margin-top: var(--spacing-sections-desktop);
  margin-bottom: var(--spacing-sections-desktop);
}
@media only screen and (max-width: 991.98px) {
  .vertical-margin {
    margin-top: calc(var(--spacing-sections-desktop) * 0.6);
    margin-bottom: calc(var(--spacing-sections-desktop) * 0.6);
  }
}

td {
  padding: 25px;
  border: solid 2px #d5d6d7;
  vertical-align: top;
}

thead tr td {
  font-weight: bold;
  padding: 10px 25px;
}

body.locked {
  overflow: hidden !important;
}

[data-hover=anim-grow] {
  scale: 100%;
  transition: scale 0.1s ease-in-out;
}
[data-hover=anim-grow]:hover {
  scale: 110%;
}

.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--primary-color)) !important;
  border-top-color: transparent !important;
}
.swiper-lazy-preloader + img {
  opacity: 0;
}

.check-circle-outer,
.spinner-circle-outer {
  --check-color: var(--accent-2-color);
  --circle-size: 50px;
  --check-width: calc(var(--circle-size) / 20);
  width: var(--circle-size);
  height: var(--circle-size);
  position: relative;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
}
.check-circle-outer .check-line-short,
.spinner-circle-outer .check-line-short {
  position: absolute;
  width: var(--check-width);
  height: 30%;
  background-color: var(--check-color);
  border-radius: 100px;
  rotate: -45deg;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  animation: enter 400ms ease 450ms forwards;
}
.check-circle-outer .check-line-long,
.spinner-circle-outer .check-line-long {
  --height: 60%;
  position: absolute;
  width: var(--check-width);
  height: 0;
  background-color: var(--check-color);
  border-radius: 100px;
  rotate: 45deg;
  top: 71%;
  left: 39%;
  transform: translate(-50%, -50%);
  animation: grow-line 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 650ms forwards;
}
.check-circle-outer .check-circle,
.check-circle-outer .spinner-circle,
.spinner-circle-outer .check-circle,
.spinner-circle-outer .spinner-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--check-width) solid;
  border-color: var(--check-color);
  opacity: 0.2;
}
.check-circle-outer .check-circle-mask,
.check-circle-outer .spinner-circle-mask,
.spinner-circle-outer .check-circle-mask,
.spinner-circle-outer .spinner-circle-mask {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--check-width) transparent solid;
  border-left-color: var(--check-color);
  opacity: 0;
}
.check-circle-outer .check-circle,
.spinner-circle-outer .check-circle {
  animation: show 300ms ease 950ms forwards;
}
.check-circle-outer .check-circle-mask,
.spinner-circle-outer .check-circle-mask {
  --spin-end: 70deg;
  animation: spin-circle 300ms ease 350ms forwards;
}
.check-circle-outer .spinner-circle-mask,
.spinner-circle-outer .spinner-circle-mask {
  --spin-end: 0deg;
  animation: spin-circle 1000ms ease forwards infinite;
}

.cross-circle-outer {
  --cross-color: #d8056b;
  --cross-size: 50px;
  --cross-width: calc(var(--cross-size) / 20);
  width: var(--cross-size);
  height: var(--cross-size);
  position: relative;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
  animation: shake 350ms ease-in-out 900ms;
}

.cross-line-left,
.cross-line-right {
  position: absolute;
  width: var(--cross-width);
  height: 0%;
  background-color: var(--cross-color);
  border-radius: 100px;
  top: 48%;
  left: 48%;
  animation: cross-grow 600ms cubic-bezier(0.68, -0.55, 0.27, 1.55) 250ms forwards;
}

.cross-line-right {
  rotate: 45deg;
}

.cross-line-left {
  rotate: -45deg;
}

.cross-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--cross-width) solid;
  border-color: var(--cross-color);
  opacity: 0.2;
  animation: show 300ms ease 600ms forwards;
}

.cross-circle-mask {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: var(--cross-width) transparent solid;
  border-left-color: var(--cross-color);
  animation: spin-circle 300ms ease forwards;
}

@keyframes spin-circle {
  0% {
    rotate: 320deg;
    opacity: 1;
  }
  99% {
    rotate: var(--spin-end);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes enter {
  0% {
    left: 0%;
    top: 0%;
  }
  100% {
    left: 42%;
    top: 57%;
  }
}
@keyframes grow-line {
  0% {
    height: 0;
    top: 72%;
    left: 40%;
  }
  100% {
    height: var(--height);
    top: 44%;
    left: 40%;
  }
}
@keyframes show {
  to {
    opacity: 1;
  }
}
@keyframes show-message {
  from {
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes cross-grow {
  0% {
    top: 48%;
    left: 48%;
    height: 0;
  }
  100% {
    top: 21%;
    left: 49%;
    height: 60%;
  }
}
@keyframes shake {
  0% {
    transform: translate(2px, 2px) rotate(0deg);
  }
  10% {
    transform: translate(-2px, -3px) rotate(-2deg);
  }
  20% {
    transform: translate(-5px, 0px) rotate(2deg);
  }
  30% {
    transform: translate(5px, 3px) rotate(0deg);
  }
  40% {
    transform: translate(2px, -2px) rotate(2deg);
  }
  50% {
    transform: translate(-2px, 3px) rotate(-2deg);
  }
  60% {
    transform: translate(-5px, 2px) rotate(0deg);
  }
  70% {
    transform: translate(5px, 2px) rotate(-2deg);
  }
  80% {
    transform: translate(-2px, -2px) rotate(2deg);
  }
  90% {
    transform: translate(2px, 3px) rotate(0deg);
  }
  100% {
    transform: translate(2px, -3px) rotate(-2deg);
  }
}
.loader {
  border: 16px solid #f3f3f3;
  /* Light grey */
  border-top: 16px solid var(--accent-1-color);
  /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.shopify-cleanslate * {
  font-size: 10px !important;
}
.shopify-cleanslate .GbgDkvQbxy7QHgLF5df9 {
  position: relative;
  height: 47px;
  display: block;
}
@media only screen and (max-width: 767.98px) {
  .shopify-cleanslate .GbgDkvQbxy7QHgLF5df9 {
    height: 60px;
  }
}
.shopify-cleanslate div span div {
  position: absolute;
  width: 430px;
}
@media only screen and (max-width: 767.98px) {
  .shopify-cleanslate div span div {
    max-width: 325px;
    width: 325px;
  }
}
.shopify-cleanslate div span div button {
  height: 16px !important;
}
.shopify-cleanslate div span div button span.GbgDkvQbxy7QHgLF5df9 {
  font-size: 10px !important;
}
@media (min-width: 500px) {
  .shopify-cleanslate div span div button span.GbgDkvQbxy7QHgLF5df9 {
    font-size: 10px !important;
  }
}

#MainContent .shopify-challenge__container {
  margin: 50px auto;
}
#MainContent .shopify-challenge__container .shopify-challenge__button {
  background-color: var(--button-1-color);
  border: 2px solid var(--button-1-border-color);
  border-radius: var(--button-1-radius);
  color: var(--button-1-text-color);
  cursor: pointer;
  display: block;
  font-size: var(--button-font-size);
  font-weight: 500;
  height: -moz-max-content;
  height: max-content;
  padding: var(--button-v-padding) var(--button-h-padding);
  transition: var(--button-transition);
  width: -moz-max-content;
  width: max-content;
  margin-top: 20px;
}

.rc-login--header-link {
  display: none;
}

#recharge-customer-portal button:not([class^=button-]) {
  background: #ffffff;
}
#recharge-customer-portal ._17zpf480 {
  border-color: #EBE8E0;
  border-radius: 20px;
  background: #EBE8E0;
}
#recharge-customer-portal ._1brvylo3 {
  font-size: 20px;
  color: #40372d;
}
#recharge-customer-portal ._1x6h4lk4 {
  font-size: 14px;
}
#recharge-customer-portal ._1ds5t1u2 {
  color: #2c7328;
}
#recharge-customer-portal .dys8oc0 ._17o99wpk9 {
  gap: 10px 0;
}
#recharge-customer-portal .dys8oc0 ._17zpf480 {
  border-radius: 12px;
}
#recharge-customer-portal .dys8oc0 ._17zpf480:hover {
  background: #e7e3d8;
  border-color: #e7e3d8;
}
#recharge-customer-portal .dys8oc0 ._1brvylo3 {
  font-size: 16px;
}
#recharge-customer-portal ._17o99wpdi {
  color: #2c7328;
}
#recharge-customer-portal ._1sdo9a23 {
  color: #2c7328;
}
#recharge-customer-portal ._1sdo9a22 {
  color: #2c7328;
}
#recharge-customer-portal ._1sdo9a2f:hover {
  background-color: #ffffff;
  border-color: #ffffff;
}
#recharge-customer-portal ._1sdo9a2h:hover {
  background-color: #ffffff;
  border-color: #ffffff;
}
#recharge-customer-portal .ankai15 {
  background-color: hsl(39, 100%, 68%);
  color: #40372d;
}
#recharge-customer-portal ._1ds5t1u2:hover {
  text-decoration: underline;
}
#recharge-customer-portal ._1brvylo4 {
  font-size: 14px;
  color: #40372d;
}
#recharge-customer-portal ._1brvylo2 {
  font-size: 20px;
  color: #40372d;
}
#recharge-customer-portal ._618vde2 {
  background-color: white;
}

.recharge-modal button {
  background: #2c7328 !important;
  color: #ffffff;
}

.hidden {
  display: none !important;
}

.product-card-content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.product-card-content .product-title-reviews {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  max-height: 85px;
}

.product-card-content .product-variants {
  min-height: 32px;
}

.rc-login .rc-login--body {
  box-shadow: none;
}
.rc-login .rc-login--body .rc-login--header-title {
  font-size: 24px;
  text-align: center;
  margin: 24px 0px;
}
@media screen and (max-width: 850px) {
  .rc-login .rc-login--body .rc-login--header-title {
    font-size: 18px;
  }
}
.rc-login .rc-login--body .rc-login-form::after {
  content: "Code sent via SMS or email depending on what details we have for you.";
  display: block;
  color: var(--text-primary-color);
  font-size: 14px;
  text-align: center;
  padding-top: 20px;
}
.rc-login .rc-login--body .rc-login-form .rc-login-form-container .rc-login-form-email {
  background: #f2f1ea;
  border: none;
  border-radius: 21px;
  box-sizing: border-box;
  font-family: Libre Baskerville, serif;
  font-size: 14px;
  height: 36px;
  padding: 12px 20px;
  width: 100%;
}
.rc-login .rc-login--body .rc-login-form .rc-login-form-button {
  background-color: var(--button-1-color);
  border: 2px solid var(--primary-color);
  border-radius: var(--button-1-radius);
  color: var(--button-1-text-color);
  font-size: var(--button-font-size);
  font-weight: 700;
  grid-column: 2/3;
  justify-self: end;
  margin-left: auto;
  padding: var(--button-v-padding) var(--button-h-padding);
  text-align: center;
  transition: var(--button-transition);
  width: 100%;
}
.rc-login .rc-login--body .rc-login-form .rc-login-form-button span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--button-1-color);
}
.rc-login .rc-login--body .rc-login-form .rc-login-form-button span::after {
  content: "Send Login Code";
  color: var(--button-1-text-color);
  position: absolute;
}

.drag-scroll {
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.drag-scroll.dragging {
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
