h1, h2, h3, h4, h5, h6, .title {
  font-family: "Exo 2", serif;
  font-optical-sizing: auto;
  text-transform: uppercase;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
}

p, a, i, li, input, label, button, textarea, select {
  font-family: "Exo 2", serif;
  font-optical-sizing: auto;
}

.lt h1, .lt h2, .lt h3, .lt h4, .lt h5, .lt h6, .lt p, .lt a, .lt i, .lt li, .lt input, .lt label,
h1.lt, h2.lt, h3.lt, h4.lt, h5.lt, h6.lt, p.lt, a.lt, i.lt, li.lt, input.lt, label.lt, button.lt {
  color: white;
}

.dk h1, .dk h2, .dk h3, .dk h4, .dk h5, .dk h6, .dk p, .dk a:not(.page-button), .dk i, .dk li, .dk input:not(.page-button), .dk label,
h1.dk, h2.dk, h3.dk, h4.dk, h5.dk, h6.dk, p.dk, a.dk:not(.page-button), i.dk, li.dk, input.dk:not(.page-button), label.dk {
  color: #3a3a3a;
}

.web-box .title:not(h4) {
  font-size: 1.4rem;
  color: #3a3a3a;
}
@media (max-width: 640px) {
  .web-box .title:not(h4) {
    font-size: 1.2rem;
  }
}

.web-box h4.title {
  font-size: 1.1rem;
  color: #3a3a3a;
}
@media (max-width: 640px) {
  .web-box h4.title {
    font-size: 0.9rem;
  }
}

.web-box .title:not(.no-margin) {
  margin: 0 0 10px 0;
}

.web-box .title.no-margin {
  margin: 0;
}

.title.large {
  font-size: 1.8rem;
}
@media (max-width: 640px) {
  .title.large {
    font-size: 1.6rem;
  }
}

.text-muted {
  color: #878C8F;
}

.page-link {
  color: #878C8F !important;
  text-decoration: underline !important;
  text-underline-offset: 0.2rem;
  cursor: pointer;
}

@media (min-width: 640px) {
  .page-link:hover {
    color: rgb(29, 189, 132) !important;
  }
}

.page-link.page-link-margin {
  margin-bottom: 20px;
}

i {
  font-size: 1.6rem;
}

html {
  background-color: #FAF9F6;
  height: 100dvh;
  padding-bottom: env(safe-area-inset-bottom);
}

body {
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: all 200ms ease;
}

#page-container {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

.page-margin {
  margin-left: 20px;
  margin-right: 20px;
}

.section-width {
  display: flex;
  width: 100%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1200px) {
  .section-width {
    max-width: 1100px;
  }
}

.section-column {
  display: flex;
  flex-direction: column;
}

main {
  position: relative;
  padding-bottom: 40px;
}
@media (max-width: 640px) {
  main {
    padding-bottom: 20px;
  }
}

main.header-mode-desktop {
  margin-top: 140px;
}

main.header-mode-mobile {
  margin-top: 100px;
}
@media (max-width: 640px) {
  main.header-mode-mobile {
    margin-top: 70px;
  }
}

main.padding,
section.padding {
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 640px) {
  main.padding,
  section.padding {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.link-trail {
  position: absolute;
  top: 2px;
  left: 10px;
}

.link-trail i {
  font-size: 0.9rem;
  opacity: 0.8;
}

@media (min-width: 640px) {
  .link-trail a:hover {
    color: #2b2922;
    text-decoration: underline;
  }
}

ul {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.page-column-container {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
}
@media (max-width: 900px) {
  .page-column-container {
    flex-direction: column;
  }
}

@media (min-width: 900px) {
  .page-column-container.columns-2 .page-column {
    width: calc(50% - 10px);
  }
  .page-column-container.columns-3 .page-column {
    width: calc(33.33% - 10px);
  }
  .page-column-container.columns-4 .page-column {
    width: calc(25% - 10px);
  }
}
.page-column-container .page-column:not(.row) {
  display: flex;
  flex-direction: column;
}

.page-column-container .page-column.grid {
  display: flex;
  gap: 10px;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 900px) {
  .page-column-container .page-column.grid {
    gap: 20px;
  }
}

.page-column-container .page-column.grid .web-box:not(.shrink) {
  flex-grow: 1;
}

.page-column-container .page-column.grid .web-box:not(:last-child) {
  margin-bottom: 0;
}

@media (min-width: 900px) {
  .page-column-container .page-column .web-box {
    min-width: 250px;
  }
}

@media (min-width: 900px) {
  .page-column-container .page-column:not(.grid) .web-box {
    margin-bottom: 20px;
  }
}

.page-button-row {
  width: 100% !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.page-button-row .page-button {
  height: 37px;
}

.page-button-row .page-button span {
  margin-left: 5px;
}

button:not(:disabled),
.page-button:not(:disabled) {
  cursor: pointer;
}

.page-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(29, 189, 132);
  color: white;
  border-radius: 999px;
  font-size: 1rem;
}
@media (max-width: 640px) {
  .page-button {
    font-size: 0.8rem;
  }
}

.page-button.text-small {
  font-size: 0.8rem;
}
@media (max-width: 640px) {
  .page-button.text-small {
    font-size: 0.7rem;
  }
}

.page-button.padding-small {
  height: 32px;
  padding: 0 12px 1px 12px;
}

.page-button.padding {
  padding: 5px 15px 6px 15px;
}
@media (max-width: 640px) {
  .page-button.padding {
    padding: 5px 12px 6px 12px;
  }
}

.page-button.padding-large {
  padding: 8px 16px 9px 16px;
}
@media (max-width: 640px) {
  .page-button.padding-large {
    padding: 6px 12px 7px 12px;
  }
}

button.page-button:not(.submit, .warning-overlay .page-button, .no-margin, .page-button-row .page-button),
a.page-button:not(.submit, .warning-overlay .page-button, .no-margin, .page-button-row .page-button) {
  margin-top: 10px;
}

button.page-button:not(.submit, .warning-overlay .page-button, .no-margin, :last-child, .page-button-row .page-button),
a.page-button:not(.submit, .warning-overlay .page-button, .no-margin, :last-child, .page-button-row .page-button) {
  margin-bottom: 10px;
}

button.page-button:not(:first-child, .submit, .warning-overlay .page-button, .no-margin),
a.page-button:not(:first-child, .submit, .warning-overlay .page-button, .no-margin, .empty-basket a) {
  margin-left: 10px;
}

@media (min-width: 640px) {
  .page-button:hover:not(.pb-success, .pb-danger, .pb-dark, :disabled) {
    background-color: rgb(22, 145, 101);
  }
}

.page-button.button-active:not(.pb-success, .pb-danger, .pb-dark, .pb-primary, .pb-secondary) {
  background-color: rgb(22, 145, 101);
}

button.page-button i,
a.page-button i {
  font-size: 1rem;
  color: white;
  margin-left: 5px;
}
@media (max-width: 640px) {
  button.page-button i,
  a.page-button i {
    font-size: 0.8rem;
  }
}

.page-button .fa-angles-left {
  margin-left: 0;
  margin-right: 5px;
}

.page-button.shadow {
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 2px -1px rgba(0, 0, 0, 0.2);
}

.page-button:disabled {
  background-color: #cecfd0;
  color: #3a3a3a;
}

.page-button.pb-success {
  background-color: #6cbf8b;
}

@media (min-width: 640px) {
  .page-button.pb-success:hover:not(:disabled) {
    background-color: #49a76c !important;
  }
}

.page-button.pb-success.button-active {
  background-color: #49a76c;
}

.page-button.pb-danger {
  background-color: #dc3545;
}

@media (min-width: 640px) {
  .page-button.pb-danger:hover:not(:disabled) {
    background-color: #bb2d3b !important;
  }
}

.page-button.pb-danger.button-active {
  background-color: #bb2d3b;
}

.page-button.pb-dark {
  background-color: #878C8F;
}

@media (min-width: 640px) {
  .page-button.pb-dark:hover:not(:disabled) {
    background-color: black !important;
  }
}

.page-button.pb-dark.button-active {
  background-color: black;
}

.page-button.pb-primary {
  background-color: rgb(245, 93, 118);
}

@media (min-width: 640px) {
  .page-button.pb-primary:hover:not(:disabled) {
    background-color: rgb(225, 77, 107) !important;
  }
}

.page-button.pb-primary.button-active {
  background-color: rgb(225, 77, 107);
}

.page-button.pb-secondary {
  background-color: rgb(29, 189, 132);
}

@media (min-width: 640px) {
  .page-button.pb-secondary:hover:not(:disabled) {
    background-color: rgb(22, 145, 101);
  }
}

.page-button.pb-secondary.button-active {
  background-color: rgb(22, 145, 101);
}

.fa-toggle-off {
  color: #dc3545;
}

.fa-toggle-on {
  color: #6cbf8b;
}

.wb-container-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.wb-container-row .web-box {
  margin: 0;
}
@media (min-width: 500px) {
  .wb-container-row .web-box {
    width: calc(50% - 5px);
  }
}
@media (max-width: 500px) {
  .wb-container-row .web-box {
    width: 100%;
  }
}

.web-box {
  background-color: white;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  overflow: hidden;
  padding: 20px;
  margin-bottom: 10px;
}

.web-box.padding-large {
  padding: 40px !important;
}

.web-box.limited {
  max-width: 600px;
}

.web-box.fill {
  flex-grow: 1;
}

.web-box ul {
  margin: 0;
  padding: 10px;
}

.web-box .wb-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media (max-width: 640px) {
  .web-box .wb-row:not(form .wb-row) {
    flex-direction: column;
  }
}

.clear-box {
  display: flex;
  flex-direction: column;
  padding: 20px 100px 50px 100px;
  color: white;
}
@media (max-width: 640px) {
  .clear-box {
    padding: 20px 20px 30px 20px;
  }
}

.clear-box.center {
  align-items: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 640px) {
  .clear-box.center-mobile {
    align-items: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 640px) {
  .clear-box.center-desktop {
    align-items: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

.clear-box.small {
  max-width: 600px;
}

.clear-box.medium {
  max-width: 900px;
}

.clear-box.large {
  max-width: 1200px;
}

.clear-box h2 {
  margin-bottom: 10px;
}

.clear-box p {
  font-size: 1.1rem;
}

.popup-label-container {
  position: relative;
  display: flex;
}

@media (min-width: 640px) {
  .popup-label-button:hover .popup-label {
    display: flex;
  }
}

.popup-label {
  display: none;
  position: absolute;
  right: 26px;
  line-height: 10px;
  white-space: nowrap;
  background-color: #2b2922;
  color: white;
  padding: 6px 8px 4px 8px;
  border-radius: 5px;
  font-size: 0.6rem;
  z-index: 4;
  letter-spacing: 0.1rem;
}

.popup-label:not(.fa-square .popup-label-container .popup-label) {
  bottom: 4px;
}

.fa-square .popup-label-container .popup-label {
  bottom: -9px;
}

@media (max-width: 640px) {
  .hide-mobile {
    display: none;
  }
}

@media (min-width: 640px) {
  .hide-desktop {
    display: none;
  }
}

.hr-small {
  border: none;
  border-top: 1px solid rgb(209, 213, 219);
  margin: 10px 0;
}

.no-select-highlight {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.no-select-highlight:focus {
  outline: none !important;
}

.warning-overlay {
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(80, 80, 80, 0.5);
  z-index: 6;
}

.warning-box {
  width: 90%;
  max-width: 800px;
  padding: 10px 15px;
}

.warning-box h3 {
  font-weight: 600;
  margin: 0;
  padding: 0;
}

.warning-box p {
  margin: 0;
  padding: 0;
}

.warning-box .row {
  display: flex;
  width: 100%;
}

.warning-box .pb-danger {
  flex-grow: 1;
  min-width: 100px;
  margin: 5px 10px 0 0;
}

.warning-box .pb-success {
  flex-grow: 5;
  margin-top: 5px;
  margin: 5px 0 0 0;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

#header-container {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  background-color: white;
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.2);
  transition: all 220ms ease-in-out;
}

header:not(#checkoutheader header) {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  transition: all 220ms ease-in-out;
  z-index: 10;
}

header .header-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 640px) {
  header .header-row {
    padding-left: 20px;
    padding-right: 20px;
  }
}

header #header-top-row {
  justify-content: space-between;
  height: 60px;
}
@media (max-width: 640px) {
  header #header-top-row {
    height: 50px;
  }
}

header.scroll #header-top-row {
  height: 45px;
}
@media (max-width: 640px) {
  header.scroll #header-top-row {
    height: 50px;
  }
}

header #header-bottom-row {
  justify-content: space-around;
  height: 40px;
  border-top: 1px solid rgb(229, 233, 239);
}

header.scroll #header-bottom-row {
  height: 35px;
}

header #header-start,
header #header-end {
  display: flex;
  align-items: center;
  height: 100%;
  color: #3a3a3a;
}

header #header-start {
  justify-content: flex-start;
  margin-right: 20px;
}

header #header-end {
  justify-content: flex-end;
}

header #mega-menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  height: 100%;
  color: #3a3a3a;
}

header #mega-menu .mega-menu-link-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

header #mega-menu a,
header #mega-menu .header-button-container {
  padding: 0 15px;
  font-size: 1rem;
}

header #mega-menu a.selected,
header #mega-menu .header-button-container.selected {
  color: rgb(245, 93, 118);
}

header #search-bar-container {
  position: relative;
  display: flex;
  flex-direction: row;
  height: 30px;
  width: 100%;
  max-width: 400px;
  margin: 0 20px 0 auto;
}

header #search-bar {
  height: 100%;
  width: 100%;
  padding: 5px 15px 8px 15px;
  border-radius: 100px 0 0 100px;
  border-top: 1px solid rgb(209, 213, 219);
  border-bottom: 1px solid rgb(209, 213, 219);
  border-left: 1px solid rgb(209, 213, 219);
  background-color: white;
}

header #search-bar::-moz-placeholder {
  font-size: 0.8rem;
}

header #search-bar::placeholder {
  font-size: 0.8rem;
}

header #search-bar-container .search-bar-clear {
  position: absolute;
  top: 10px;
  right: 46px;
  cursor: pointer;
  color: #878C8F;
  font-size: 0.8rem;
}

header #search-bar-container .search-bar-clear:hover {
  color: rgb(245, 93, 118);
}

header #search-bar-container .search-bar-icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 40px;
  border-radius: 0 100px 100px 0;
  background-color: rgb(245, 93, 118);
  cursor: pointer;
}

header #search-bar-container .search-bar-icon-container:hover {
  background-color: rgb(225, 77, 107);
}

header #search-bar-container .search-bar-icon-container i {
  font-size: 0.8rem;
  margin-right: 3px;
  color: white;
}

header #mobile-search-icon.active {
  color: rgb(245, 93, 118);
}

header.header-mode-desktop #header-end a:not(:first-child),
header.header-mode-desktop #header-end .header-button-container:not(:first-child) {
  margin-left: 20px;
}

header.header-mode-mobile #header-end a:not(:first-child),
header.header-mode-mobile #header-end .header-button-container:not(:first-child) {
  margin-left: 15px;
}

header #header-start a,
header #mega-menu a,
header #header-end a,
header #header-start .header-button-container,
header #mega-menu .header-button-container,
header #header-end .header-button-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-transform: capitalize;
  position: relative;
  white-space: nowrap;
  transition: font-size 220ms ease-in-out;
  cursor: pointer;
}

@media (min-width: 640px) {
  header #header-start a:hover,
  header #mega-menu a:hover,
  header #header-end a:hover,
  header #header-start .header-button-container:hover,
  header #mega-menu .header-button-container:hover,
  header #header-end .header-button-container:hover {
    color: rgb(245, 93, 118);
  }
}

header.scroll #mega-menu a,
header.scroll #mega-menu .header-button-container {
  font-size: 0.9rem;
}

header #header-start a i,
header #mega-menu a i,
header #header-end a i,
header #header-start .header-button-container i,
header #mega-menu .header-button-container i,
header #header-end .header-button-container i {
  font-size: 1.1rem;
  transition: font-size 220ms ease-in-out;
}

header.header-mode-mobile #header-start a i,
header.header-mode-mobile #mega-menu a i,
header.header-mode-mobile #header-end a i,
header.header-mode-mobile #header-start .header-button-container i,
header.header-mode-mobile #mega-menu .header-button-container i,
header.header-mode-mobile #header-end .header-button-container i {
  font-size: 1rem;
}

header.scroll #header-start a i,
header.scroll #mega-menu a i,
header.scroll #header-end a i,
header.scroll #header-start .header-button-container i,
header.scroll #mega-menu .header-button-container i,
header.scroll #header-end .header-button-container i {
  font-size: 1rem;
}

header #header-start a span,
header #mega-menu a span,
header #header-end a span,
header #header-start .header-button-container span,
header #mega-menu .header-button-container span,
header #header-end .header-button-container span {
  font-size: 0.9rem;
  transition: font-size 220ms ease-in-out;
}

header.scroll #header-start a span,
header.scroll #mega-menu a span,
header.scroll #header-end a span,
header.scroll #header-start .header-button-container span,
header.scroll #mega-menu .header-button-container span,
header.scroll #header-end .header-button-container span {
  font-size: 0.8rem;
}

header .basket-count {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -2px;
  right: -8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 0.5rem !important;
}
@media (max-width: 640px) {
  header .basket-count {
    top: -5px;
    right: -5px;
    width: 12px;
    height: 12px;
    font-size: 0.4rem !important;
  }
}

header .basket-count.empty {
  display: none;
}

@media (min-width: 640px) {
  header a:hover .basket-count {
    background-color: rgb(245, 93, 118);
  }
}

header img.logo {
  transition: all 220ms ease-in-out;
  padding: 10px 0;
}

header:not(.scroll) img.logo {
  height: 40px;
}
@media (max-width: 640px) {
  header:not(.scroll) img.logo {
    height: 40px;
  }
}

header.scroll img.logo {
  height: 35px;
}
@media (max-width: 640px) {
  header.scroll img.logo {
    height: 40px;
  }
}

header #header-socials {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0;
  color: rgb(245, 93, 118);
}

header #header-socials a {
  margin-left: 30px;
  cursor: pointer;
}

@media (max-width: 640px) {
  header .header-desktop {
    display: none;
  }
}

@media (min-width: 640px) {
  header .header-mobile {
    display: none;
  }
}

#header-container #mobile-search-container {
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  padding: 10px;
  background-color: white;
  z-index: 8;
}

#header-container.scroll #mobile-search-container {
  top: 50px;
}

#header-container #mobile-search-bar-container {
  position: relative;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  height: 0;
  border-top: 1px solid rgb(229, 233, 239);
  background-color: white;
  z-index: 8;
}

#header-container #mobile-search-bar-container.transition {
  transition: height 200ms ease-in-out;
}

#header-container #mobile-search-bar-container.active {
  height: 50px;
}

#header-container #mobile-search-bar-container #search-bar {
  height: 30px;
  width: 100%;
  padding: 5px 15px 8px 15px;
  margin: 10px 0 10px 10px;
  border-radius: 100px 0 0 100px;
  border-top: 1px solid rgb(209, 213, 219);
  border-bottom: 1px solid rgb(209, 213, 219);
  border-left: 1px solid rgb(209, 213, 219);
  background-color: white;
}

#header-container #mobile-search-bar-container .search-bar-clear {
  position: absolute;
  top: 20px;
  right: 50px;
  cursor: pointer;
  color: #878C8F;
  font-size: 0.8rem;
}

#header-container #mobile-search-bar-container .search-bar-clear:hover {
  color: rgb(245, 93, 118);
}

#header-container #mobile-search-bar-container .search-bar-icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: 34px;
  margin: 10px 10px 10px 0;
  border-radius: 0 100px 100px 0;
  background-color: rgb(245, 93, 118);
  cursor: pointer;
}

#header-container #mobile-search-bar-container .search-bar-icon-container:hover {
  background-color: rgb(225, 77, 107);
}

#header-container #mobile-search-bar-container .search-bar-icon-container i {
  font-size: 0.8rem;
  padding-right: 3px;
  color: white;
}

#header-container #mega-menu-sub-container {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  padding: 40px 0 0 0;
  background-color: white;
  z-index: 8;
  overflow: hidden;
  transition: all 250ms ease-in-out;
}

#header-container #mega-menu-sub-container.active {
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.2);
}

#header-container.scroll #mega-menu-sub-container {
  top: 45px;
  padding: 35px 0 0 0;
}

#header-container #mega-menu-sub-container nav.mega-menu-sub {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-bottom: 0;
}

#header-container #mega-menu-sub-container.header-mode-desktop nav.mega-menu-sub {
  padding-top: 40px;
}

#header-container #mega-menu-sub-container.header-mode-mobile nav.mega-menu-sub {
  padding-top: 20px;
}

#header-container #mega-menu-sub-container nav.mega-menu-sub h2 {
  color: rgb(245, 93, 118);
  padding: 0 0 5px 0;
  margin: 0 0 5px 0;
  border-bottom: 1px solid rgb(245, 93, 118);
  font-size: 1.2rem;
}

#header-container #mega-menu-sub-container nav.mega-menu-sub .link-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  max-height: 160px;
}

#header-container #mega-menu-sub-container nav.mega-menu-sub .mega-menu-link {
  color: black;
  padding: 3px 10px;
  margin-bottom: 3px;
  font-size: 0.9rem;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 6px;
  background-color: white;
}

#header-container #mega-menu-sub-container nav.mega-menu-sub .mega-menu-link:hover {
  border: 1px solid rgb(229, 233, 239);
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 2px -1px rgba(0, 0, 0, 0.2);
  color: rgb(245, 93, 118);
}

#header-container #search-results-container {
  position: absolute;
  top: 70px;
  left: 40px;
  right: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 640px) {
  #header-container #search-results-container {
    top: 100px;
    left: 0;
    right: 0;
  }
}

@media (min-width: 640px) {
  #header-container:not(.scroll) #search-results-container.header-mode-desktop {
    top: 110px;
  }
}

@media (min-width: 640px) {
  #header-container.scroll #search-results-container.header-mode-desktop {
    top: 90px;
  }
}

#header-container #search-results {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 900px;
  background-color: white;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  z-index: 7;
}
@media (max-width: 640px) {
  #header-container #search-results {
    border-radius: 0;
    box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 2px -1px rgba(0, 0, 0, 0.2);
  }
}

#header-container #search-results .search-result {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 5px 10px;
  cursor: pointer;
  z-index: 11;
}

#header-container #search-results .search-result:not(:last-child) {
  border-bottom: 1px solid rgb(229, 233, 239);
}

#header-container #search-results .search-result:hover {
  background-color: #cecfd0;
}

#header-container #search-results .search-result img {
  width: 50px;
  height: 50px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-right: 20px;
  border-radius: 6px;
  background-color: white;
}
@media (max-width: 640px) {
  #header-container #search-results .search-result img {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}

#header-container #search-results .search-result .image-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  margin-right: 20px;
}
@media (max-width: 640px) {
  #header-container #search-results .search-result .image-icon {
    width: 40px;
    margin-right: 10px;
  }
}

#header-container #search-results .search-result:not(.view-all) .image-icon {
  height: 50px;
  border-radius: 6px;
  background-color: white;
}
@media (max-width: 640px) {
  #header-container #search-results .search-result:not(.view-all) .image-icon {
    height: 40px;
  }
}

#header-container #search-results .search-result .image-icon i {
  font-size: 1.5rem;
  color: #878C8F;
}

#header-container #search-results .view-all {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  padding: 5px 10px;
}

#header-container #search-results .view-all span {
  color: #878C8F;
  font-size: 0.9rem;
  text-decoration: underline;
}
@media (max-width: 640px) {
  #header-container #search-results .view-all span {
    font-size: 0.8rem;
  }
}

#header-container #search-results .view-all i {
  color: #878C8F;
  font-size: 0.9rem;
  margin-left: 7px;
}
@media (max-width: 640px) {
  #header-container #search-results .view-all i {
    font-size: 0.8rem;
  }
}

.site-menu {
  position: fixed;
  top: 0;
  right: -80vw;
  height: 100%;
  width: 70vw;
  padding: 10px 0;
  background-color: #FAF9F6;
  padding: 10px 0;
  border-radius: 30px 0 0 30px;
  overflow-y: auto;
  z-index: 15;
  transition: all 300ms ease-in-out;
  display: flex;
  flex-direction: column;
}

.site-menu::-webkit-scrollbar {
  width: 8px;
}

.site-menu::-webkit-scrollbar-thumb {
  background-color: #cecfd0;
  border-radius: 3px;
}

.site-menu #menu-home-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 20px;
}

.site-menu img.logo {
  display: flex;
  align-self: center;
  width: 180px;
  margin: 0;
}

.site-menu #menu-toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 30px;
  margin: 0;
}

.site-menu #menu-toolbar .menu-tool {
  margin: 0 8px;
}

.site-menu #menu-toolbar .menu-tool i {
  font-size: 1rem;
  color: #3a3a3a;
}

.site-menu #menu-items {
  flex-direction: column;
  padding: 0;
  margin: 0 0 20px 0;
}

.site-menu .nav-link {
  transition: border-radius 300ms ease-in-out;
  cursor: pointer;
  border-top: 1px solid #cecfd0;
  margin: 0 30px;
}

.site-menu .primary-nav-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-transform: uppercase;
  height: 60px;
  padding: 0 10px;
  font-weight: 600;
  color: #3a3a3a;
}

.site-menu .primary-nav-link i {
  position: absolute;
  right: 40px;
  font-size: 0.9rem;
  color: #cecfd0;
}

.site-menu .nav-link .fa-angle-up {
  display: none;
}

.site-menu .nav-sublinks {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: height 300ms ease-in-out;
  padding: 0;
}

.site-menu .nav-sublink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 40px;
  font-size: 0.9rem;
  text-transform: uppercase;
  border-radius: 20px;
}

.site-menu .nav-sublink:focus {
  background-color: white;
}

.site-menu #menu-socials {
  margin-top: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 5px 0;
}

.site-menu #menu-socials i {
  color: #3a3a3a;
}

.site-menu #menu-socials a:not(:first-child) {
  margin-left: 15px;
}

header .menu-overlay {
  display: none;
  position: absolute;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 14;
  background-color: black;
  transition: all 300ms ease-in-out;
}

.menu-non-active {
  transform: translate3d(0, 0, 0);
}

.menu-active {
  transform: translate3d(-80vw, 0, 0);
}

footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  background-color: white;
  padding: 20px;
  margin-top: auto;
  border-top: 4px solid rgb(245, 93, 118);
  border-radius: 5px 5px 0 0;
  box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.2);
  z-index: 9;
}
@media (min-width: 640px) {
  footer {
    padding: 40px;
  }
}

footer .logo img {
  display: flex;
  height: 40px;
}
@media (max-width: 640px) {
  footer .logo img {
    height: 20px;
  }
}

footer nav {
  display: flex;
  flex-direction: column;
  margin: 10px auto 0 auto;
}
@media (min-width: 640px) {
  footer nav {
    flex-direction: row;
    margin: 0;
  }
}

footer nav .footer-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  margin: 0 0 30px 0;
  color: #3a3a3a;
}
@media (min-width: 640px) {
  footer nav .footer-links {
    align-items: flex-start;
    margin: 0 60px 0 0;
  }
}

footer nav .footer-links.categories {
  display: flex;
  flex-wrap: wrap;
}

footer nav .footer-links .title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 5px;
  color: #3a3a3a;
}

footer nav .nav-link {
  width: 100%;
  margin: 5px auto 0 0;
  text-align: center;
}
@media (min-width: 640px) {
  footer nav .nav-link {
    text-align: start;
  }
}

@media (min-width: 640px) {
  footer nav .nav-link:hover {
    text-decoration: underline;
  }
}

footer .footer-bottom {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  margin-top: 20px;
}

footer #footer-socials {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
  margin: 0;
  color: #3a3a3a;
}

footer #footer-socials a {
  margin-right: 10px;
  cursor: pointer;
}

@media (min-width: 640px) {
  footer #footer-socials a:hover {
    color: rgb(245, 93, 118);
  }
}

form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.form-title:not(form, .web-box) {
  margin-top: 5px;
  margin-bottom: 5px;
}

.web-box .form-title {
  font-size: 1.4rem;
}
@media (max-width: 640px) {
  .web-box .form-title {
    font-size: 1.2rem;
  }
}

.web-box .form-title:not(.no-margin) {
  margin: 0 0 10px 0;
}

.web-box .form-title.no-margin {
  margin: 0;
}

form:not(.web-box) .form-title {
  font-size: 1.5rem;
  margin-bottom: 15px;
}

#offCanvasForm {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  background-color: white;
  width: 100%;
  transition: 200ms ease-in-out;
  z-index: 15;
}
@media (min-width: 640px) {
  #offCanvasForm {
    width: 500px;
  }
}

#offCanvasForm:not(.active) {
  transform: translateX(100%);
}

#offCanvasForm .form-title {
  margin: 0;
  padding: 15px 20px;
  background-color: rgb(245, 93, 118);
  color: white;
}
@media (max-width: 640px) {
  #offCanvasForm .form-title {
    padding: 15px;
  }
}

#offCanvasForm form {
  height: 100%;
}

#offCanvasForm form .off-canvas-form-container {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 20px 25px;
}
@media (max-width: 640px) {
  #offCanvasForm form .off-canvas-form-container {
    padding: 15px 20px;
  }
}

#offCanvasForm form .tools {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 10px;
  margin-top: auto;
  border-top: 1px solid rgb(209, 213, 219);
}

#offCanvasFormOverlay {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 1;
  background-color: rgba(80, 80, 80, 0.5);
  transition: opacity 200ms ease-in-out;
  z-index: 14;
}

#offCanvasFormOverlay:not(.active) {
  opacity: 0;
  transform: translateX(100%);
}

form .input-label-container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin-bottom: 8px;
  min-width: 50px;
  width: 20%;
}

form .input-label-container input,
form .input-label-container label,
form .input-label-container select,
form .input-label-container option {
  min-width: 50px;
}

form.web-box,
.web-box form {
  position: relative;
}

form.web-box i,
.web-box form i {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 10px;
  right: 10px;
  height: 20px;
  width: 20px;
  border-radius: 6px;
  color: #2b2922;
  cursor: pointer;
}

@media (min-width: 640px) {
  form.web-box i:hover:not(.show-password i),
  .web-box form i:hover:not(.show-password i) {
    background-color: #2b2922;
    color: white;
  }
}

form input:not(form input:last-child, .checkbox-container input, .submit),
textarea,
form label.file-input-label,
form select:not(form select:last-child, .checkbox-container select),
.stripe-input {
  margin-bottom: 10px;
}

form input:not(.checkbox-container input, .submit),
.form input:not(.checkbox-container input, .submit),
textarea,
form label.file-input-label,
form select,
form option,
form .stripe-input {
  padding: 5px 12px;
  color: #2b2922;
  background-color: white;
  height: 33px;
  cursor: pointer;
}
@media (max-width: 640px) {
  form input:not(.checkbox-container input, .submit),
  .form input:not(.checkbox-container input, .submit),
  textarea,
  form label.file-input-label,
  form select,
  form option,
  form .stripe-input {
    height: 30px;
    font-size: 0.8rem;
    padding: 5px 10px;
  }
}

form input:not(.checkbox-container input, .submit),
.form input:not(.checkbox-container input, .submit),
form label.file-input-label,
form select,
form option,
form .stripe-input {
  border-radius: 999px;
}

textarea {
  border-radius: 10px;
}

form input:not(.checkbox-container input, .submit),
.form input:not(.checkbox-container input, .submit),
textarea,
form label.file-input-label,
form select:not(.product-page .wb-content),
.stripe-input {
  border: 2px solid #cecfd0;
}

form input:focus:not(.checkbox-container input, .submit),
.form input:focus:not(.checkbox-container input, .submit),
textarea:focus,
form label.file-input-label:hover,
.stripe-input:focus {
  border: 2px solid white;
}

form select {
  padding: 5px 4px;
}
@media (max-width: 640px) {
  form select {
    padding: 3px 2px;
  }
}

textarea {
  resize: vertical;
  min-height: 100px;
  overflow: hidden;
}

form label.show-password {
  position: relative;
  margin: 0 0 2px 3px;
}

@media (max-width: 640px) {
  form label.show-password i {
    padding-bottom: 6px;
    font-size: 0.8rem;
  }
}

label:not(.file-input-label, .show-password) {
  font-weight: bold;
  line-height: 24px;
  margin-left: 6px;
}

form label {
  min-width: 50px;
}
@media (max-width: 640px) {
  form label {
    font-size: 0.8rem;
  }
}

form span.red {
  color: #dc3545;
}

form p {
  width: 80%;
  margin: 5px auto 5px auto;
  text-align: center;
}

form i {
  font-size: 1rem;
  position: absolute;
  top: 10px;
  right: 7px;
  z-index: 1;
}

form input.file-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

form label.file-input-label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 8px;
  max-width: 300px;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: pointer;
  background-color: white;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

form label.file-input-label::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari and Opera */
}

form label i {
  cursor: pointer;
}

form .checkbox-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 5px 0 5px 10px;
}
@media (max-width: 640px) {
  form .checkbox-container {
    margin: 5px 0 5px 4px;
  }
}

form .checkbox-container input {
  margin: 4px 8px 0 0;
}
@media (max-width: 640px) {
  form .checkbox-container input {
    margin: 1px 6px 0 0;
  }
}

form .form-paragraph {
  color: #878C8F;
}

form span.form-paragraph {
  font-size: 1.1rem;
}
@media (max-width: 640px) {
  form span.form-paragraph {
    font-size: 0.9rem;
  }
}

form small.form-paragraph {
  font-size: 0.8rem;
}
@media (max-width: 640px) {
  form small.form-paragraph {
    font-size: 0.6rem;
  }
}

form .form-paragraph:not(:last-child) {
  margin-bottom: 20px;
}

form .form-paragraph:last-child {
  margin-top: 20px;
}

form .form-list {
  padding: 0 0 10px 0;
}

form .form-list li {
  margin-bottom: 8px;
  color: #878C8F;
  font-size: 1rem;
}
@media (max-width: 640px) {
  form .form-list li {
    font-size: 0.8rem;
  }
}

form .bottom-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-top: 20px;
}

form .bottom-row a {
  padding-top: 5px;
}

form .bottom-row .submit {
  margin-left: 10px !important;
}

form .submit:not(.bottom-row .submit) {
  width: 100%;
}
@media (min-width: 640px) {
  form .submit:not(.bottom-row .submit) {
    margin-top: 10px;
  }
}

h3.table-title {
  font-size: 1.7rem;
}

.table-title {
  margin-top: 5px;
  margin-bottom: 5px;
}

table {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  display: table;
  table-layout: fixed;
  background-color: white;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
}

tr {
  display: flex;
  align-items: center;
  position: relative;
}

thead tr {
  height: 35px;
  border-bottom: 1px solid #878C8F;
}
@media (max-width: 800px) {
  thead tr {
    height: 30px;
  }
}

tbody tr {
  min-height: 30px;
}

tbody tr:not(:last-child) {
  border-bottom: 1px solid #cecfd0;
}

tr.highlight {
  background-color: #FCF7FF;
}

tr th {
  white-space: nowrap;
  cursor: pointer;
}

tr th .fa-angle-down,
tr th .fa-angle-up {
  font-size: 0.9rem;
}
@media (max-width: 800px) {
  tr th .fa-angle-down,
  tr th .fa-angle-up {
    font-size: 0.8rem;
  }
}

tr th, tr td {
  padding-left: 7px;
  text-align: left;
  font-size: 0.9rem;
}
@media (max-width: 800px) {
  tr th, tr td {
    font-size: 0.8rem;
  }
}

tr td.paragraph {
  white-space: normal;
}

tr th:last-child, tr td:last-child {
  padding-right: 8px;
}

tr th:not(.checkout-section th, .tr-buttons),
tr td:not(.checkout-section td, .tr-buttons, .paragraph) {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

tbody tr i {
  cursor: pointer;
  color: #2b2922;
  font-size: 1rem;
  padding-left: 7px;
}

tr .tr-buttons {
  position: absolute;
  right: 0;
  display: flex;
  flex-direction: row;
  text-align: right;
  white-space: nowrap;
  padding-left: 0;
}

tr .tr-buttons i {
  position: relative;
  color: black;
}

@media (min-width: 640px) {
  tr .tr-buttons i:hover {
    color: rgb(225, 77, 107);
  }
}

@media (min-width: 640px) {
  tr .tr-buttons i:hover .button-label:not(.button-label:hover) {
    display: block;
  }
}

tr .tr-buttons .button-label {
  margin: 0;
  padding: 0;
  display: none;
  z-index: 2;
}

tr .tr-buttons .button-label p {
  position: absolute;
  bottom: -11px;
  right: 117%;
  background-color: #2b2922;
  color: white;
  padding: 6px 10px 6px 8px;
  border-radius: 5px;
  font-family: "Nunito", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
}

tr .tr-buttons .button-label div {
  position: absolute;
  bottom: 2px;
  right: 100%;
  height: 12px;
  width: 12px;
  background-color: #2b2922;
  transform: rotate(45deg);
  border-radius: 0 3px 0 10px;
}

table .empty-table {
  display: flex;
  align-items: center;
  width: 100%;
  opacity: 0.6;
  height: 80px;
  padding-left: 20px;
}

table .empty-table h3 {
  color: black;
  margin: 0;
}

table td .toggle-true {
  color: #6cbf8b;
}

@media (min-width: 640px) {
  table td .toggle-true:hover {
    color: #49a76c;
  }
}

table td .toggle-false {
  color: #dc3545;
}

@media (min-width: 640px) {
  table td .toggle-false:hover {
    color: #bb2d3b;
  }
}

table td.paragraph {
  height: 100%;
}

table .hide-mobile:not(.checkout-section .hide-mobile) {
  display: none;
}

table input:not(tfoot input),
table select:not(tfoot select) {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 3px;
  outline: none;
  max-width: 100%;
  padding: 3px 2px 3px 0;
  margin: 2px;
}

@media (min-width: 640px) {
  table input:not(tfoot input):hover,
  table input:not(tfoot input):focus,
  table select:not(tfoot select):hover,
  table select:not(tfoot select):focus {
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    background-color: white;
    outline: 2px solid black;
    cursor: pointer;
  }
}

tfoot tr {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  height: 30px;
  color: black;
  border-top: 1px solid #878C8F;
  font-size: 0.8rem;
}

.data-table tfoot tr td:not(:first-child) {
  padding-left: 15px;
}

tfoot tr td i {
  font-size: 0.8rem;
}

.data-table tfoot tr td:last-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
  padding-right: 4px;
}

.page-column tfoot .hide-mobile-marker {
  display: none;
}

@media (max-width: 440px) {
  tfoot .hide-mobile-xs-marker {
    display: none;
  }
}

tfoot input,
tfoot select {
  background-color: white;
  outline: 2px solid #878C8F;
  border-radius: 6px;
  max-width: 100%;
  padding: 1px 2px 1px 1px;
  margin: 2px;
  cursor: pointer;
}

tfoot button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(245, 93, 118);
  color: white;
  margin: 2px;
  padding: 4px 8px;
  border-radius: 6px;
}

@media (min-width: 640px) {
  tfoot button:hover {
    background-color: rgb(225, 77, 107);
  }
}

tfoot button.button-off {
  background-color: #878C8F;
  cursor: default;
}

tfoot button i {
  padding: 0;
  margin: 0;
  color: white !important;
}

tfoot .icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 1px 6px;
  font-size: 0.9rem;
  background-color: black;
  color: white;
  cursor: pointer;
}
@media (max-width: 440px) {
  tfoot .icon-container {
    font-size: 0.8rem;
  }
}

tfoot .icon-container i {
  color: white;
  font-size: 0.8rem;
  margin-right: 5px;
}

tfoot .icon-container span {
  margin-left: 5px;
}

.banner {
  display: flex;
  position: relative;
  max-width: 100%;
}
@media (min-width: 640px) {
  .banner.height-sm {
    height: 390px;
  }
  .banner.height-md {
    height: 500px;
  }
  .banner.height-lg {
    height: 700px;
  }
}

.banner.padding .swiper-slide {
  padding: 0 40px 40px 40px;
}
@media (max-width: 640px) {
  .banner.padding .swiper-slide {
    padding: 0 20px 20px 20px;
  }
}

.banner.padding-top .swiper-slide {
  padding-top: 40px !important;
}
@media (max-width: 640px) {
  .banner.padding-top .swiper-slide {
    padding-top: 20px !important;
  }
}

.banner .swiper-button-next,
.banner .swiper-button-prev {
  color: black;
  opacity: 0.2;
  --swiper-navigation-size: 32px;
  --swiper-navigation-sides-offset: 60px;
}
@media (max-width: 640px) {
  .banner .swiper-button-next,
  .banner .swiper-button-prev {
    display: none;
  }
}

.banner .swiper-button-next:hover,
.banner .swiper-button-prev:hover {
  color: rgb(245, 93, 118);
  opacity: 1;
}

.banner.banner-shadow .swiper-button-next,
.banner.banner-shadow .swiper-button-prev {
  top: calc(50% - 20px);
}

.banner.banner-shadow .swiper-pagination {
  bottom: 48px;
}
@media (max-width: 640px) {
  .banner.banner-shadow .swiper-pagination {
    bottom: 28px;
  }
}

.banner .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin-left: 8px !important;
  margin-right: 8px !important;
  opacity: 0.4;
}

.banner .swiper-pagination-bullet-active {
  background-color: rgb(245, 93, 118);
}

.banner .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.banner.rounded .swiper-slide img {
  border-radius: 30px;
}

.banner.banner-shadow .swiper-slide img {
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
}
@media (max-width: 640px) {
  .banner.banner-shadow .swiper-slide img {
    box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 8px 8px -1px rgba(0, 0, 0, 0.2), 0 5px 6px -4px rgba(0, 0, 0, 0.2);
  }
}

.banner .swiper-slide .banner-mobile-image {
  position: relative;
  width: 100%;
  height: 0px;
  padding-bottom: 100%;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.banner.rounded .swiper-slide .banner-mobile-image {
  border-radius: 25px;
}

.banner.banner-shadow .swiper-slide .banner-mobile-image {
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.2);
}

.carousel {
  display: flex;
  position: relative;
  width: 100%;
}

.carousel .swiper-wrapper {
  display: flex;
  flex-direction: row;
}

.padding .carousel .swiper-slide,
.carousel.padding .swiper-slide {
  position: relative;
  background-color: white;
  padding: 20px;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
}
@media (max-width: 950px) {
  .padding .carousel .swiper-slide,
  .carousel.padding .swiper-slide {
    width: calc(33.33% - 12.66px);
  }
}
@media (min-width: 950px) and (max-width: 1200px) {
  .padding .carousel .swiper-slide,
  .carousel.padding .swiper-slide {
    width: calc(25% - 15px);
  }
}
@media (min-width: 1200px) and (max-width: 1400px) {
  .padding .carousel .swiper-slide,
  .carousel.padding .swiper-slide {
    width: calc(20% - 16px);
  }
}
@media (min-width: 1400px) {
  .padding .carousel .swiper-slide,
  .carousel.padding .swiper-slide {
    width: calc(16.66% - 16.66px);
  }
}

.padding .carousel .swiper-slide:not(:last-child),
.carousel.padding .swiper-slide:not(:last-child) {
  margin-right: 20px;
}

.carousel:not(.padding, .padding .carousel) .swiper-slide {
  position: relative;
  background-color: white;
  padding: 20px;
  margin-left: 40px;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
}
@media (max-width: 640px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide {
    margin-left: 20px;
    width: calc(33.33% - 26.66px);
  }
}
@media (min-width: 640px) and (max-width: 950px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide {
    width: calc(33.33% - 53.33px);
  }
}
@media (min-width: 950px) and (max-width: 1200px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide {
    width: calc(25% - 50px);
  }
}
@media (min-width: 1200px) and (max-width: 1400px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide {
    width: calc(20% - 48px);
  }
}
@media (min-width: 1400px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide {
    width: calc(16.66% - 46.66px);
  }
}

.carousel:not(.padding, .padding .carousel) .swiper-slide:last-child {
  margin-right: 40px;
}
@media (max-width: 640px) {
  .carousel:not(.padding, .padding .carousel) .swiper-slide:last-child {
    margin-right: 20px;
  }
}

.carousel .swiper-slide .carousel-image {
  width: 100%;
  padding-bottom: 100%;
  margin-bottom: 30px;
  display: flex;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.carousel .swiper-slide .carousel-title {
  position: absolute;
  bottom: 10px;
  left: 0px;
  right: 0px;
  text-align: center;
  margin: 0;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  color: #878C8F;
}
@media (max-width: 640px) {
  .carousel .swiper-slide .carousel-title {
    font-size: 0.8rem;
  }
}

.carousel .swiper-button-next,
.carousel .swiper-button-prev {
  color: black;
  opacity: 0.2;
  --swiper-navigation-size: 32px;
  --swiper-navigation-sides-offset: 15px;
}
@media (max-width: 640px) {
  .carousel .swiper-button-next,
  .carousel .swiper-button-prev {
    display: none;
    color: rgb(245, 93, 118);
  }
}

.carousel:not(.padding, .padding .carousel) .swiper-button-next,
.carousel:not(.padding, .padding .carousel) .swiper-button-prev {
  --swiper-navigation-sides-offset: 10px !important;
}

.carousel .swiper-button-next:hover,
.carousel .swiper-button-prev:hover {
  color: rgb(245, 93, 118);
  opacity: 1;
}

main.auth {
  padding-top: 40px;
  padding-bottom: 100px !important;
}
@media (max-width: 640px) {
  main.auth {
    padding-top: 20px;
    padding-bottom: 60px !important;
  }
}

main.auth .page-column-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

main.auth .web-box .email-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

main.auth .web-box .email {
  margin-left: 5px;
  color: #878C8F;
  font-size: 1.1rem;
}
@media (max-width: 640px) {
  main.auth .web-box .email {
    font-size: 0.9rem;
  }
}

main.auth .web-box a .page-button {
  width: 100%;
}

main.auth .web-box:not(.page-column .web-box) {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}

main.auth .auth-paragraph {
  color: #878C8F;
}

main.auth span.auth-paragraph,
main.auth p.auth-paragraph {
  font-size: 1.1rem;
}
@media (max-width: 640px) {
  main.auth span.auth-paragraph,
  main.auth p.auth-paragraph {
    font-size: 0.9rem;
  }
}

main.auth small.auth-paragraph {
  font-size: 0.8rem;
}
@media (max-width: 640px) {
  main.auth small.auth-paragraph {
    font-size: 0.6rem;
  }
}

main.auth .auth-paragraph:not(:last-child) {
  margin-bottom: 20px;
}

main.auth .auth-paragraph:last-child {
  margin-top: 20px;
}

main.auth .account-benefits {
  padding: 0;
}

main.auth .account-benefits li {
  height: 35px;
}

main.auth .account-benefits i {
  width: 35px;
  font-size: 1rem;
  color: rgb(245, 93, 118);
}

.home-page .clear-box {
  padding-top: 0;
}

@media (min-width: 640px) {
  .home-page .clear-box h2 {
    font-size: 2.4rem;
  }
}

@media (min-width: 640px) {
  .home-page .clear-box p {
    font-size: 1.4rem;
  }
}

#basket {
  padding: 20px;
}
@media (min-width: 640px) {
  #basket {
    padding: 40px;
  }
}

#basket h1 {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 0;
  line-height: 1.5;
  font-weight: 500;
  font-size: 2.2rem;
}
@media (min-width: 640px) {
  #basket h1 {
    margin-bottom: 20px;
  }
}

#basket h1 i {
  position: relative;
  bottom: 2px;
  margin-right: 10px;
  font-size: 2rem;
}

#basket .empty-basket {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px;
}
@media (max-width: 640px) {
  #basket .empty-basket {
    padding: 20px;
  }
}

#basket .empty-basket h4 {
  margin: 0;
}

#basket .non-empty-basket {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1000px) {
  #basket .non-empty-basket {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

#basket .basket-functions {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px 0 20px 0;
}
@media (min-width: 1000px) {
  #basket .basket-functions {
    width: 400px;
    margin: 0 0 0 40px;
  }
}

#basket .basket-functions-bottom {
  margin-top: 20px !important;
}
@media (min-width: 1000px) {
  #basket .basket-functions-bottom {
    display: none;
  }
}

#basket .basket-functions div {
  display: flex;
  flex-direction: row;
  width: 100%;
}

#basket .basket-functions div:not(:last-child) {
  justify-content: flex-start;
  border-bottom: 1px solid rgb(229, 233, 239);
  padding-bottom: 10px;
}

#basket .basket-functions div:not(:first-child) {
  padding-top: 10px;
}

#basket .basket-functions div:last-child {
  justify-content: flex-end;
}
@media (min-width: 1000px) {
  #basket .basket-functions div:last-child {
    margin-top: auto;
  }
}

#basket .basket-functions h2 {
  font-size: 1rem;
  margin: 0;
}
@media (min-width: 640px) {
  #basket .basket-functions h2 {
    font-size: 1.2rem;
  }
}

@media (max-width: 640px) {
  #basket .basket-functions a {
    width: 100%;
    font-size: 0.9rem;
    padding: 7px 12px 6px 12px;
  }
}
@media (min-width: 640px) and (max-width: 1000px) {
  #basket .basket-functions a {
    width: 250px;
    margin: 0 0 0 auto;
  }
}
@media (min-width: 1000px) {
  #basket .basket-functions a {
    width: 100%;
    margin: 0;
  }
}

#basket .basket-functions a i {
  font-size: 1rem;
  margin-top: 3px;
}

#basket #basketLinesContainer {
  width: 100%;
}

#basket .basket-line {
  display: flex;
  flex-direction: column;
  background-color: #FAF9F6;
}
@media (min-width: 1000px) {
  #basket .basket-line {
    flex-direction: row;
  }
}

#basket .basket-line:not(:last-child) {
  margin-bottom: 20px;
}

#basket .basket-image-container {
  position: relative;
  display: flex;
  width: min(100%, 400px);
  height: 0px;
  padding-bottom: min(100%, 400px);
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  overflow: hidden;
  background-color: white;
}
@media (min-width: 1000px) {
  #basket .basket-image-container {
    padding-bottom: 0;
  }
}
@media (min-width: 1000px) and (max-width: 1400px) {
  #basket .basket-image-container {
    width: 150px;
    height: 150px;
    margin-right: 10px;
  }
}
@media (min-width: 1400px) {
  #basket .basket-image-container {
    width: 250px;
    height: 250px;
    margin-right: 20px;
  }
}

#basket .basket-image-container .basket-image {
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 10px;
  overflow: hidden;
}

#basket .basket-image-container i {
  color: white;
  font-size: 3rem;
}

#basket .basket-line-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
}
@media (max-width: 1000px) {
  #basket .basket-line-content {
    margin-top: 10px;
  }
}
@media (min-width: 1000px) {
  #basket .basket-line-content {
    flex-direction: row;
  }
}
@media (min-width: 1000px) and (max-width: 1400px) {
  #basket .basket-line-content {
    width: calc(100% - 160px);
  }
}
@media (min-width: 1400px) {
  #basket .basket-line-content {
    width: calc(100% - 270px);
  }
}

#basket .basket-line-content .basket-line-top-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 5px;
}

#basket .basket-line-top-row .product-link {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1000px) {
  #basket .basket-line-top-row .product-link {
    margin-bottom: 5px;
  }
}

#basket .basket-line-top-row .product-link h2 {
  font-size: 1rem;
  margin: 0;
}
@media (min-width: 1000px) {
  #basket .basket-line-top-row .product-link h2 {
    font-size: 1.2rem;
  }
}
@media (min-width: 1400px) {
  #basket .basket-line-top-row .product-link h2 {
    font-size: 1.4rem;
  }
}

#basket .basket-line-top-row .product-link :hover {
  text-decoration: underline;
  color: rgb(29, 189, 132);
}

@media (min-width: 1000px) {
  #basket .basket-line-top-row .price {
    margin-top: auto;
  }
}

#basket .basket-line-content .basket-line-bottom-row {
  display: flex;
  flex-direction: row;
}
@media (max-width: 1000px) {
  #basket .basket-line-content .basket-line-bottom-row {
    align-items: center;
    margin-top: 5px;
  }
}
@media (min-width: 1000px) {
  #basket .basket-line-content .basket-line-bottom-row {
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
  }
}

#basket .basket-line-bottom-row .total {
  margin: 0 0 5px 0;
  font-size: 1.2rem;
}
@media (max-width: 1000px) {
  #basket .basket-line-bottom-row .total {
    margin: 0 10px 2px 0;
    font-size: 1rem;
  }
}

#basket .basket-line-bottom-row input {
  font-size: 0.8rem;
  width: 45px;
  height: 24px;
  padding-right: 3px;
}

#basket .basket-line-bottom-row .remove-line {
  text-decoration: underline;
  margin-left: 10px;
  color: rgb(29, 189, 132);
  cursor: pointer;
}

#basket .basket-line-bottom-row .remove-line:hover {
  color: rgb(22, 145, 101);
}

.contact {
  padding: 20px 0 0 0;
}

#contactmain {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.contact .title-section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact .content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  padding: 20px 40px 30px 40px;
  width: 100%;
}
@media (max-width: 640px) {
  .contact .content {
    flex-direction: column;
    align-items: center;
    padding: 20px 20px 30px 20px;
  }
}

.contact .content ul {
  display: flex;
  flex-direction: column;
}
@media (max-width: 640px) {
  .contact .content ul {
    text-align: center;
    padding-left: 0;
  }
}

@media (min-width: 640px) {
  .contact .content ul:first-child {
    padding-left: 0;
    padding-right: 40px;
  }
}

.contact a {
  color: rgb(225, 77, 107);
}

@media (min-width: 640px) {
  .contact a:hover {
    color: rgb(245, 93, 118);
    text-decoration: underline;
  }
}

.contact h3 {
  margin: 5px 0;
}

.contact .form-width-control {
  display: flex;
  flex-direction: column;
  background-color: #cecfd0;
  padding: 20px 40px 50px 40px;
  width: 100%;
}
@media (min-width: 1000px) {
  .contact .form-width-control {
    flex-direction: row-reverse;
    padding-top: 50px;
  }
}

@media (min-width: 1000px) {
  .contact .form-content {
    margin-left: 20px;
    margin-right: auto;
    width: 35%;
  }
}

.contact form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 1000px) {
  .contact form {
    width: 40%;
    margin-left: 12.5%;
  }
}

.contact form input,
.contact form textarea,
.contact form label {
  width: 100%;
}
@media (min-width: 1000px) {
  .contact form input,
  .contact form textarea,
  .contact form label {
    max-width: 600px;
  }
}

.contact form textarea {
  min-height: 100px;
}

.contact form .submit {
  width: 100%;
  max-width: 150px;
  margin-top: 10px;
}

@media (min-width: 640px) {
  .contact form .submit:hover {
    background-color: rgb(225, 77, 107);
  }
}

.contact #googlemaps .map {
  display: flex;
  overflow: hidden;
  height: 400px;
  width: calc(100% - 80px);
  margin: 0 40px 40px 40px;
  background-color: #cecfd0;
  border-radius: 20px;
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 8px 8px -1px rgba(0, 0, 0, 0.2), 0 5px 6px -4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 640px) {
  .contact #googlemaps .map {
    width: calc(100% - 40px);
    margin: 0 20px 20px 20px;
  }
}

main#account {
  padding-bottom: 60px !important;
}
@media (max-width: 640px) {
  main#account {
    padding-bottom: 30px !important;
  }
}

main#account #account-trail {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 0;
}

main#account #account-trail span,
main#account #account-trail a {
  color: #878C8F;
  text-wrap: nowrap;
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  main#account #account-trail span,
  main#account #account-trail a {
    font-size: 0.8rem;
  }
}

main#account #account-trail i {
  color: #878C8F;
  font-size: 0.8rem;
  margin: 4px 7px 0 7px;
}
@media (max-width: 640px) {
  main#account #account-trail i {
    font-size: 0.7rem;
    margin: 2px 7px 0 7px;
  }
}

main#account .title {
  display: flex;
  align-items: center;
}

main#account .title i:not(.default-address i) {
  margin-right: 10px;
}

main#account .logout {
  margin-left: auto;
}

main#account .address-box {
  display: flex;
  flex-direction: column;
}

main#account .address-box .page-link {
  padding-top: 10px;
  margin-top: auto;
  margin-left: auto;
}

main#account .address-box .page-button-row {
  justify-content: flex-end;
}

main#account .addresses-container {
  margin-top: 20px;
}

main#account .default-address {
  display: flex;
  align-items: center;
  background-color: #878C8F;
  color: white;
  font-size: 0.8rem;
  border-radius: 6px;
  padding: 3px 8px;
}

main#account .address-box .default-address,
main#account .addresses-container .default-address:first-child {
  margin-left: auto;
}

main#account .addresses-container .default-address:not(:first-child) {
  margin-left: 5px;
}

main#account .default-address i {
  color: white;
  font-size: 0.7rem;
  margin-left: 5px;
}

main.category h1 {
  font-size: 2.2rem;
}

main.category .clear-box h1 {
  margin-top: 0;
}

main.category .clear-box h3 {
  font-size: 1.5rem;
  margin: 0;
  color: #878C8F;
}

main.category .clear-box p {
  margin: 0 0 20px 0;
  color: #878C8F;
}

main.category #product-grid-container {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid rgb(229, 233, 239);
}
@media (max-width: 640px) {
  main.category #product-grid-container {
    margin-top: 20px;
    padding-top: 15px;
  }
}

main.category #product-grid-container #category-trail {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
  padding: 0;
}
@media (max-width: 640px) {
  main.category #product-grid-container #category-trail {
    margin-bottom: 10px;
  }
}

main.category #product-grid-container #category-trail span,
main.category #product-grid-container #category-trail a {
  color: #878C8F;
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  main.category #product-grid-container #category-trail span,
  main.category #product-grid-container #category-trail a {
    font-size: 0.8rem;
  }
}

main.category #product-grid-container #category-trail i {
  color: #878C8F;
  font-size: 0.8rem;
  margin: 4px 7px 0 7px;
}
@media (max-width: 640px) {
  main.category #product-grid-container #category-trail i {
    font-size: 0.7rem;
  }
}

main.category #product-grid-container #product-grid-header,
main.category #product-grid-container #product-grid-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 0 3px;
}

main.category #product-grid-container #product-grid-header {
  margin-bottom: 10px;
}

main.category #product-grid-container #product-grid-footer {
  margin-top: 20px;
}

main.category #product-grid-container #product-grid-header div,
main.category #product-grid-container #product-grid-footer div {
  display: flex;
  flex-direction: row;
  align-items: center;
}

main.category #product-grid-container #product-grid-header span,
main.category #product-grid-container #product-grid-footer span {
  color: #3a3a3a;
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  main.category #product-grid-container #product-grid-header span,
  main.category #product-grid-container #product-grid-footer span {
    font-size: 0.8rem;
  }
}

main.category #product-grid-container #product-grid-header select,
main.category #product-grid-container #product-grid-footer select {
  border: 1px solid rgb(229, 233, 239);
  border-radius: 6px;
  padding: 1px 3px;
  margin: 0 5px;
}
@media (max-width: 640px) {
  main.category #product-grid-container #product-grid-header select,
  main.category #product-grid-container #product-grid-footer select {
    font-size: 0.8rem;
  }
}

main.category #product-grid-container #product-grid-header button,
main.category #product-grid-container #product-grid-footer button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  color: #878C8F;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 6px;
  padding: 5px 8px;
}

main.category #product-grid-container #product-grid-header button:first-child,
main.category #product-grid-container #product-grid-footer button:first-child {
  margin: 0 5px 0 0;
}

main.category #product-grid-container #product-grid-header button:last-child,
main.category #product-grid-container #product-grid-footer button:last-child {
  margin: 0 0 0 5px;
}

main.category #product-grid-container #product-grid-header button:disabled,
main.category #product-grid-container #product-grid-footer button:disabled {
  background-color: #FCF7FF;
}

main.category #product-grid-container #product-grid-header button i,
main.category #product-grid-container #product-grid-footer button i {
  font-size: 0.8rem;
}

main.category #loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 80px;
}
@media (max-width: 640px) {
  main.category #loading-container {
    padding: 40px;
  }
}

main.category #loading-container {
  font-size: 1.4rem;
  color: #878C8F;
}

main.category #product-grid {
  display: grid;
  grid-auto-flow: row;
  gap: 20px;
  width: 100%;
}
@media (max-width: 640px) {
  main.category #product-grid {
    gap: 10px;
  }
}
@media (max-width: 640px) {
  main.category #product-grid {
    grid-template-columns: repeat(2, minmax(auto, 1fr));
  }
}
@media (min-width: 640px) and (max-width: 1200px) {
  main.category #product-grid {
    grid-template-columns: repeat(3, minmax(auto, 1fr));
  }
}
@media (min-width: 1200px) and (max-width: 1400px) {
  main.category #product-grid {
    grid-template-columns: repeat(4, minmax(auto, 1fr));
  }
}
@media (min-width: 1400px) {
  main.category #product-grid {
    grid-template-columns: repeat(5, minmax(auto, 1fr));
  }
}

main.category #product-grid .item {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 10px;
  cursor: pointer;
}

main.category #product-grid .item .image-container {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  overflow: hidden;
  background-color: white;
}

main.category #product-grid .item .image,
main.category #product-grid .item .no-image {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
}

main.category #product-grid .item .image {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

main.category #product-grid .item .no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cecfd0;
}

main.category #product-grid .item .no-image i {
  font-size: 2.2rem;
}

main.category #product-grid .item .product-title {
  color: #3a3a3a;
  margin: 3px 0 3px 3px;
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  main.category #product-grid .item .product-title {
    font-size: 0.7rem;
  }
}

main.category #product-grid .item .product-price {
  margin: 0 0 3px 3px;
  font-size: 1rem;
}
@media (max-width: 640px) {
  main.category #product-grid .item .product-price {
    margin: 0 0 0 3px;
    font-size: 0.8rem;
  }
}

main.category #product-grid .item .product-id {
  margin: 0 0 0 3px;
  color: #878C8F;
}
@media (max-width: 640px) {
  main.category #product-grid .item .product-id {
    font-size: 0.6rem;
  }
}

main.product-page #product-trail {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 0;
}

main.product-page #product-trail span,
main.product-page #product-trail a {
  color: #878C8F;
  text-wrap: nowrap;
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  main.product-page #product-trail span,
  main.product-page #product-trail a {
    font-size: 0.8rem;
  }
}

main.product-page #product-trail i {
  color: #878C8F;
  font-size: 0.8rem;
  margin: 4px 7px 0 7px;
}
@media (max-width: 640px) {
  main.product-page #product-trail i {
    font-size: 0.7rem;
    margin: 2px 7px 0 7px;
  }
}

main.product-page #productpageprimary {
  display: grid;
  grid-auto-flow: row;
  gap: 40px;
  width: 100%;
}
@media (max-width: 900px) {
  main.product-page #productpageprimary {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}
@media (min-width: 901px) and (max-width: 1200px) {
  main.product-page #productpageprimary {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1201px) and (max-width: 1400px) {
  main.product-page #productpageprimary {
    grid-template-columns: 2fr 3fr;
  }
}
@media (min-width: 1401px) {
  main.product-page #productpageprimary {
    grid-template-columns: 2fr 4fr;
  }
}

main.product-page #productpageprimary #product-page-card {
  display: flex;
  flex-direction: row;
}
@media (min-width: 641px) and (max-width: 1400px) {
  main.product-page #productpageprimary #product-page-card {
    justify-content: space-between;
  }
}
@media (max-width: 1400px) {
  main.product-page #productpageprimary #product-page-card {
    flex-direction: column;
  }
}

main.product-page #product-page-card .product-page-card-column {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 1400px) {
  main.product-page #product-page-card .product-page-card-column {
    width: calc(100% - 20px);
  }
}

@media (max-width: 640px) {
  main.product-page #product-page-card .product-page-card-column:first-child {
    margin-bottom: 10px;
  }
}
@media (min-width: 641px) and (max-width: 1400px) {
  main.product-page #product-page-card .product-page-card-column:first-child {
    margin-bottom: 20px;
  }
}
@media (min-width: 1400px) {
  main.product-page #product-page-card .product-page-card-column:first-child {
    margin-right: 20px;
  }
}

main.product-page #product-page-card .product-page-card-column:last-child {
  justify-content: flex-end;
}

main.product-page #product-page-card .product-page-card-column .product-page-card-box {
  background-color: white;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  padding: 20px;
}
@media (max-width: 640px) {
  main.product-page #product-page-card .product-page-card-column .product-page-card-box {
    padding: 10px;
  }
}
@media (min-width: 640px) {
  main.product-page #product-page-card .product-page-card-column .product-page-card-box {
    margin-bottom: 14px;
  }
}

main.product-page #product-page-card .product-page-card-section {
  display: flex;
  flex-direction: column;
}

@media (min-width: 900px) {
  main.product-page #product-page-card .product-page-card-section:not(:last-child) {
    border-bottom: 1px solid rgb(209, 213, 219);
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

main.product-page #product-page-card .product-page-card-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

main.product-page #product-page-card .title {
  margin: 0;
}

main.product-page #product-page-card .discontinued {
  width: 160px;
  background-color: #2b2922;
  color: white;
  text-align: center;
  padding: 2px 10px;
  border-radius: 6px;
}

main.product-page #product-page-card .product-option {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 20px;
}
@media (max-width: 640px) {
  main.product-page #product-page-card .product-option {
    margin-bottom: 10px;
  }
}

main.product-page #product-page-card .product-option-title {
  margin-bottom: 3px;
}

main.product-page #product-page-card .product-option-select {
  color: #2b2922;
  background-color: white;
  border: 1px solid #cecfd0;
  border-radius: 6px;
  padding: 2px 6px;
  width: 100%;
  height: 33px;
  cursor: pointer;
}
@media (max-width: 640px) {
  main.product-page #product-page-card .product-option-select {
    height: 30px;
    font-size: 0.8rem;
  }
}

main.product-page #product-page-card .product-option-select option small {
  color: #bb2d3b;
}

main.product-page #product-page-card #product-price {
  font-size: 1.9rem;
  padding: 0;
  margin: 0 auto 0 0;
  line-height: 36px;
}
@media (max-width: 640px) {
  main.product-page #product-page-card #product-price {
    font-size: 1.7rem;
  }
}

main.product-page #product-page-card #product-quantity {
  color: #2b2922;
  background-color: white;
  border: 1px solid #cecfd0;
  border-radius: 6px;
  padding: 2px 6px;
  height: 28px;
  width: 60px;
  margin-left: 8px;
  cursor: pointer;
}
@media (max-width: 640px) {
  main.product-page #product-page-card #product-quantity {
    height: 24px;
    font-size: 0.8rem;
  }
}

main.product-page #product-page-card #product-cart-button {
  margin-left: 10px;
}

main.product-page #product-page-card #product-cart-button:disabled i {
  color: #3a3a3a;
  margin-left: 10px;
}

main.product-page #productpageprimary #product-page-image {
  display: flex;
  flex-direction: column;
  width: 100%;
}

main.product-page #product-page-image #primary-image-container {
  position: relative;
  display: flex;
  width: 100%;
  height: 0px;
  padding-bottom: 100%;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  overflow: hidden;
  background-color: white;
}

main.product-page #product-page-image #primary-image {
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
}

main.product-page #product-page-image #product-image-carousel {
  display: flex;
  margin-top: 6px;
  padding-bottom: 14px;
  width: 100%;
}

main.product-page #product-image-carousel .swiper-wrapper {
  display: flex;
  flex-direction: row;
  width: 100%;
}

main.product-page #product-image-carousel .swiper-slide {
  display: flex;
  min-width: 10%;
  cursor: pointer;
}

main.product-page #product-image-carousel .swiper-slide:not(:last-child) {
  width: calc((100% + 6px) * 1 / 8);
  padding-right: 6px;
}

main.product-page #product-image-carousel .swiper-slide:last-child {
  width: calc((100% + 6px) * 1 / 8 - 6px);
}

main.product-page #product-image-carousel .carousel-image-container {
  position: relative;
  width: 100%;
  padding-bottom: calc(100% - 0.75px);
  border: 1px solid rgb(229, 233, 239);
  border-radius: 6px;
  background-color: white;
}

main.product-page #product-image-carousel .carousel-image-container.selected {
  border: 1px solid rgb(29, 189, 132);
}

main.product-page #product-image-carousel .carousel-image {
  position: absolute;
  display: flex;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  max-height: calc(100% - 10px);
  max-width: calc(100% - 10px);
  margin: auto;
  border-radius: 6px;
  overflow: hidden;
}

main.product-page #product-image-carousel .swiper-scrollbar {
  background-color: #cecfd0;
  left: 2px;
  right: 2px;
  width: calc(100% - 4px);
}

main.product-page #product-image-carousel .swiper-scrollbar-drag {
  background-color: rgb(29, 189, 132);
}

@media (max-width: 900px) {
  main.product-page #product-description-desktop {
    display: none !important;
  }
}

main.product-page #product-description-mobile {
  margin-top: 20px;
}
@media (min-width: 901px) {
  main.product-page #product-description-mobile {
    display: none !important;
  }
}

#checkoutheader header {
  background-color: white;
  padding: 40px !important;
}
@media (max-width: 640px) {
  #checkoutheader header {
    padding: 20px !important;
  }
}

#checkoutheader header .checkout-section-width {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1100px !important;
  margin: 0 auto;
  padding: 0;
}

#checkoutheader header #checkout-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

#checkoutheader header #checkout-title h1 {
  color: black;
  margin: 0;
  font-weight: 400;
}
@media (min-width: 640px) {
  #checkoutheader header #checkout-title h1 {
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
}
@media (max-width: 640px) {
  #checkoutheader header #checkout-title h1 {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
}

@media (min-width: 640px) {
  #checkoutheader header.scroll #checkout-title h1 {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
}
@media (max-width: 640px) {
  #checkoutheader header.scroll #checkout-title h1 {
    font-size: 1rem;
    line-height: 1rem;
  }
}

#checkoutheader header #checkout-title a {
  color: #878C8F;
  text-decoration: underline;
  margin: 0;
  cursor: pointer;
}
@media (min-width: 640px) {
  #checkoutheader header #checkout-title a {
    font-size: 0.9rem;
  }
}
@media (max-width: 640px) {
  #checkoutheader header #checkout-title a {
    font-size: 0.7rem;
  }
}

@media (min-width: 640px) {
  #checkoutheader header.scroll #checkout-title a {
    font-size: 0.7rem;
  }
}
@media (max-width: 640px) {
  #checkoutheader header.scroll #checkout-title a {
    font-size: 0.5rem;
  }
}

#checkoutLoginPage {
  padding: 60px 20px;
}
@media (min-width: 640px) {
  #checkoutLoginPage {
    padding: 60px 40px;
  }
}

#checkoutLoginPage .checkout-section-width {
  display: flex;
  width: 100%;
  max-width: 1100px !important;
  margin: 0 auto;
  padding: 0;
}

main#checkout-page {
  padding-bottom: 0 !important;
}

main#checkout-page:not(.order-successful) {
  height: 100%;
  width: 100%;
  padding: 40px 20px 60px 20px;
}
@media (min-width: 640px) {
  main#checkout-page:not(.order-successful) {
    padding: 60px 40px 60px 40px;
  }
}

main#checkout-page #checkout-page-heading {
  max-width: 1100px !important;
  margin-left: auto;
  margin-right: auto;
}

main#checkout-page #checkout-page-container {
  display: flex;
  flex-direction: row;
  max-width: 1100px !important;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 940px) {
  main#checkout-page #checkout-page-container {
    flex-direction: column;
  }
}

main#checkout-page #checkout-primary {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: calc(50% + 200px);
  padding: 0 20px 0 0;
}
@media (max-width: 940px) {
  main#checkout-page #checkout-primary {
    width: 100%;
    padding: 0;
  }
}

main#checkout-page #checkout-primary .title {
  display: flex;
  align-items: center;
}

main#checkout-page #checkout-primary .title i:not(.default-address i) {
  margin-right: 10px;
}

main#checkout-page #checkout-primary .options-container {
  margin-top: 20px;
}

main#checkout-page #checkout-primary .options-container hr {
  margin: 20px 0;
  border-top: 1px solid rgb(209, 213, 219);
}

main#checkout-page #checkout-primary .option-box {
  display: flex;
  flex-direction: column;
}

main#checkout-page #checkout-primary .option-box p {
  margin: 0 5px 15px 5px;
}

main#checkout-page #checkout-primary .option-box .page-link {
  padding-top: 10px;
  margin-top: auto;
  margin-left: auto;
}

main#checkout-page #checkout-primary .option-box .delete-button {
  margin-right: auto;
}

main#checkout-page #checkout-primary .option-box .option-box-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

main#checkout-page #checkout-primary .default-address {
  display: flex;
  align-items: center;
  background-color: #878C8F;
  color: white;
  font-size: 0.8rem;
  border-radius: 6px;
  padding: 3px 8px;
}

main#checkout-page #checkout-primary .option-box .default-address,
main#checkout-page #checkout-primary .options-container .default-address:first-child {
  margin-left: auto;
}

main#checkout-page #checkout-primary .options-container .default-address:not(:first-child) {
  margin-left: 5px;
}

main#checkout-page #checkout-primary .default-address i {
  color: white;
  font-size: 0.7rem;
  margin-left: 5px;
}

main#checkout-page #checkout-primary .courier-logo {
  width: 60px;
  height: 60px;
  margin-left: auto;
  margin-top: auto;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 640px) {
  main#checkout-page #checkout-primary .courier-logo {
    width: 40px;
    height: 40px;
  }
}

main#checkout-page #checkout-summary {
  position: sticky;
  top: 0;
  height: 100%;
  width: calc(50% - 200px);
  min-width: 40%;
  padding: 20px 0 0 0;
}
@media (max-width: 940px) {
  main#checkout-page #checkout-summary {
    width: 100%;
  }
}
@media (min-width: 940px) {
  main#checkout-page #checkout-summary {
    margin-left: 20px;
  }
}

@media (min-width: 940px) {
  main#checkout-page #checkout-summary .summary-box {
    max-width: 500px;
  }
}

main#checkout-page #checkout-summary .summary-box h4 {
  margin: 0;
  white-space: wrap;
}

main#checkout-page #checkout-summary .summary-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

main#checkout-page #checkout-summary .summary-row:not(:last-child) {
  margin-bottom: 20px;
}

main#checkout-page #checkout-summary .summary-product {
  display: flex;
  flex-direction: row;
}

main#checkout-page #checkout-summary .summary-image-container {
  position: relative;
  display: flex;
  width: 100px;
  height: 100px;
  min-width: 100px;
  min-height: 100px;
  border: 1px solid rgb(229, 233, 239);
  border-radius: 10px;
  overflow: hidden;
  background-color: white;
}

main#checkout-page #checkout-summary .summary-image {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 10px;
  overflow: hidden;
}

main#checkout-page #checkout-summary .summary-product-details {
  display: flex;
  flex-direction: column;
  padding: 5px 0;
  margin-left: 10px;
  width: 100%;
}

main#checkout-page #checkout-summary .summary-product-details h5 {
  margin: 0 0 5px 0;
}

main#checkout-page #checkout-summary .summary-product-details .summary-row {
  margin-top: auto;
}

main#checkout-page #checkout-summary .summary-total span {
  font-size: 1.2rem;
}

.order-successful {
  margin: 60px 0 30px 0;
  padding: 30px 20px 0 20px;
}
@media (min-width: 640px) {
  .order-successful {
    padding: 60px 40px 0 40px;
  }
}

.order-successful .checkout-title {
  display: flex;
  flex-direction: column;
}

.order-successful .checkout-title h1 {
  font-size: 3rem;
  line-height: 30px;
  margin: 0;
}
@media (max-width: 640px) {
  .order-successful .checkout-title h1 {
    font-size: 2rem;
    line-height: 20px;
  }
}

@media (max-width: 640px) {
  .order-successful p {
    font-size: 0.8rem;
  }
}

.order-successful strong,
.order-successful small {
  white-space: nowrap;
}

.order-successful small a {
  color: rgb(245, 93, 118);
  text-decoration: underline;
}

.order-successful .web-box {
  border-radius: 0;
  margin: 0 0 20px 0;
}

.order-successful .saved-record {
  border-radius: 0;
}

#alert-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  margin-left: 20px;
  width: calc(100% - 40px);
  z-index: 12;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  justify-content: flex-end;
}

.alert-box {
  position: relative;
  display: flex;
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 10px 0 0 0;
  padding: 25px 40px 20px 20px;
  border-radius: 5px;
  color: rgb(255, 255, 255);
  overflow: hidden;
  transition: transform 200ms ease-in-out;
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
@media (max-width: 640px) {
  .alert-box {
    width: 100%;
    font-size: 0.8rem;
  }
}
@media (min-width: 640px) {
  .alert-box {
    min-width: 460px;
    max-width: 700px;
  }
}

.alert-box.error {
  background-color: #dc3545;
}

.alert-box.success {
  background-color: #6cbf8b;
}

.alert-box.exit:not(.pause) {
  transform: translateX(calc(100% + 20px));
}

.alert-box.remove:not(.pause) {
  display: none;
}

.alert-box span {
  margin-bottom: 5px;
}

.alert-box strong {
  font-weight: 800;
}

.alert-box .loading-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 100%;
  transition: width 7s;
}

.alert-box.start .loading-bar {
  width: 0%;
}

.alert-box.error .loading-bar {
  background-color: rgba(255, 255, 255, 0.8);
}

.alert-box.success .loading-bar {
  background-color: rgba(80, 80, 80, 0.5);
}

.alert-box .loading-bar-background {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 100%;
}

.alert-box.error .loading-bar-background {
  background-color: #bb2d3b;
}

.alert-box.success .loading-bar-background {
  background-color: #49a76c;
}

.alert-box h3 {
  margin: 0;
}

.alert-box i {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  font-size: 0.9rem;
  top: 6px;
  height: 18px;
  width: 18px;
  border-radius: 4px;
  color: white;
  cursor: pointer;
}
@media (max-width: 640px) {
  .alert-box i {
    font-size: 0.8rem;
  }
}

.alert-box .fa-times {
  right: 6px;
}

.alert-box .fa-pause {
  right: 26px;
}

@media (min-width: 640px) {
  .alert-box i:hover {
    background-color: white;
  }
}

@media (min-width: 640px) {
  .alert-box.error i:hover {
    color: #dc3545;
  }
}

@media (min-width: 640px) {
  .alert-box.success i:hover {
    color: #6cbf8b;
  }
}
