/** Shopify CDN: Minification failed

Line 3306:7 Unexpected ","
Line 3355:7 Unexpected ","

**/
@import url(https://fonts.googleapis.com/css?family=Quicksand:400,500,700&display=swap);
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Remove default padding */
ul,
ol {
  padding: 0; }

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,.col
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0; }

/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  overflow-x: hidden; }

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none; }

/* A elements that don't have a class get default styles */
a {
  text-decoration: none; }
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto; }

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block; }

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit; }

input[type="search"] {
  background-color: unset;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }

.visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  font-family: "Quicksand", sans-serif;
  color: #2f2f2f; }

h1,
.h1 {
  font-size: 64px;
  font-weight: 500;
  line-height: 1.15;
  color: #3c3660; }
  @media (max-width: 480px) {
    h1,
    .h1 {
      font-size: 24px;
      line-height: 1.3; } }

h2,
.h2 {
  font-size: 36px;
  font-weight: 500;
  color: #3c3660; }
  @media (max-width: 480px) {
    h2,
    .h2 {
      font-size: 18px;
      line-height: 1.14;
      padding: 10px 0; } }

h3,
.h3 {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.17;
  color: #3c3660;
 }
  @media (max-width: 480px) {
    h3,
    .h3 {
      font-size: 18px;
      padding: 10px 0; } }

h1.pdp-title, h4,
.h4 {
  font-size: 24px;
  font-weight: 500;
  color: #3c3660; }

@media (min-width: 768px) {
  .footer-navItem.h4 {
    font-size: 20px;
  }
}

h5,
.h5 {
  font-size: 18px;
  font-weight: 500;
  color: #3c3660; }
  @media (max-width: 480px) {
    h5,
    .h5 {
      font-size: 14px; } }

h6,
.h6 {
  font-size: 16px;
  font-weight: 700;
  color: #3c3660; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

p {
  color: #7f7f7f; }

a {
  color: #3c3660;
  text-decoration: none; }

.container {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 25px; }
  @media (max-width: 768px) {
    .container {
      max-width: 650px; } }
  @media (max-width: 480px) {
    .container {
      max-width: unset;
      padding: 0 15px; } }
  .container--wide {
    max-width: 1490px; }
  .container--narrow {
    max-width: 1050px; }
  .container--narrower {
    max-width: 790px; }

.scrollLock {
  overflow: hidden; }

.button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  padding: 15px 55px;
  background: #3c3660;
  box-shadow: none;
  border: 2px solid #3c3660;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  outline: none;
  transition: background 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), border 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.25s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .button:hover, .button:focus {
    background: #262046;
    border: 2px solid #262046; }

  .button.alt {
    color: #fff;
    background: #8A28CA;
    border: 2px solid #8A28CA;  
  }

  .button.alt:hover, .button.alt:focus {
    color: #fff;
    background: #6B3E8A;
    border: 2px solid #6B3E8A; }
  
  @media (max-width: 480px) {
    .button {
      padding: 12px 30px; }
    .button.mobile {
      padding: 10px 30px; }
  }

.button--secondary {
  background: #fff;
  color: #3c3660;
  border: 2px solid #3c3660;
  transition: background 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), border 0.25s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .button--secondary:hover, .button--secondary:focus {
    background: #e8e7f1; }

.button--full {
  width: 100%;
  text-align: center; }

.button--disabled {
  background: #fff;
  border: 2px solid #e8e7f1;
  color: #3c3660;
  pointer-events: none; }

.button--saving {
  position: relative;
  padding-right: 75px; }
  .button--saving:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 15px;
    border-radius: 50%;
    border: 2px solid #fff;
    border-top-color: #3c3660;
    cursor: none;
    position: absolute;
    top: 50%;
    -webkit-animation: spin 0.8s infinite linear;
            animation: spin 0.8s infinite linear; }
  @media (max-width: 480px) {
    .button--saving {
      padding-right: 50px; } }

.button--red {
  background: #fff;
  border-color: #b21414;
  color: #b21414; }
  .button--red:hover, .button--red:focus {
    background: #efefef;
    border-color: #b21414; }

@-webkit-keyframes spin {
  from {
    transform: translateY(-50%) rotate(0deg); }
  to {
    transform: translateY(-50%) rotate(360deg); } }

@keyframes spin {
  from {
    transform: translateY(-50%) rotate(0deg); }
  to {
    transform: translateY(-50%) rotate(360deg); } }

.link {
  padding: 0;
  color: #8a28ca;
  font-size: 12px;
  font-weight: 700;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer; }
  .link:hover, .link:focus {
    text-decoration: underline; }
  .link:disabled {
    color: #e8e7f1;
    cursor: auto; }

.pill {
  display: inline-block;
  padding: 7px 10px;
  background: #fff;
  color: #3c3660;
  border: 1px solid #e8e7f1;
  border-radius: 16px;
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  min-width: 92px;
  text-align: center; }
  .pill--loading {
    height: 25px;
    width: 35px;
    position: relative; }
    .pill--loading::after {
      content: '';
      display: inline-block;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: 1.5px solid #3c3660;
      border-top-color: #e8e7f1;
      position: absolute;
      top: 50%;
      -webkit-animation: spin 0.8s infinite linear;
              animation: spin 0.8s infinite linear; }
.pill.discount {
  background: #e1f384;
}
.prodCard-status.pill.discount {
  top: 50px;
  left: 20px;
  background: #dcf572;
  margin-top: 3px;
}

.discount-line-break {
  display: none;
  
}

.prodCard-status.pill.discount.feat-pill {
  left: 20px;
  padding: 7px 10px !important;
  text-align: left !important;
  top: 50px;
  text-align: center !important;
  border-radius: 16px !important;
}
@media (max-width: 480px) {
  .prodCard-status.pill.discount {
    border-radius: 0;
    padding: 3px !important; 
    text-align: left;
  }
  .prodCard-status.pill.discount  > br.discount-line-break {
    display: block;
  }
   .prodCard-status.pill.discount.feat-pill  > br.discount-line-break {
    display: none;
  }
   .prodCard-status.pill.discount.feat-pill {
    left: 10px;
    top: 40px;
   }
  }
.accordion {
  border-bottom: 1px solid #efefef; }
  button.accordion-title {
    width: 100%;
    padding: 30px 0;
    padding-right: 30px;
    background: none;
    border: none;
    color: #3c3660;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    position: relative;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    cursor: pointer;
    transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    button.accordion-title::after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 12px;
      background-image: url(../assets/arrow-down.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    button.accordion-title:hover, button.accordion-title:focus, .accordion--open button.accordion-title {
      color: #8a28ca; }
    .accordion--open button.accordion-title {
      padding-bottom: 15px; }
      .accordion--open button.accordion-title::after {
        transform: translateY(-50%) rotate(180deg); }
  .accordion-text {
    display: none;
    padding-bottom: 30px;
    color: #7f7f7f !important;
    font-family: "Quicksand", sans-serif !important;
    font-size: 16px !important; }
    .accordion-text * {
      width: 100%;
      color: #7f7f7f !important;
      font-family: "Quicksand", sans-serif !important;
      font-size: 16px !important; }
    .accordion-text ul {
      padding-left: 18px; }

  .accordion-content {
    display: none;
  }
.inputs-container {
  width: 50%;
  margin: 0; }
  .inputs-container--wide {
    width: 70%; }
  .inputs-container--full {
    width: 100%; }

.input-wrapper {
  margin-bottom: 30px; }
  .input-wrapper:last-of-type {
    margin-bottom: 0; }
  .input-wrapper label,
  .input-wrapper .input-label {
    display: block;
    margin-bottom: 10px;
    color: #3c3660;
    font-size: 14px;
    font-weight: 500;
    line-height: 1; }
  .input-wrapper select {
    border: 1px solid #e8e7f1;
    padding: 15px;
  }
  .input-wrapper input:not([type=checkbox]):not([type=radio]),
  .input-wrapper input[type=search],
  .input-wrapper textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #e8e7f1;
    border-radius: 0 !important;
    box-shadow: none;
    color: #3c3660;
    font-size: 14px;
    font-weight: 500;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), border 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .input-wrapper input:not([type=checkbox]):not([type=radio]):hover, .input-wrapper input:not([type=checkbox]):not([type=radio]):focus,
    .input-wrapper input[type=search]:hover,
    .input-wrapper input[type=search]:focus,
    .input-wrapper textarea:hover,
    .input-wrapper textarea:focus {
      border: 1px solid #3c3660; }
    .input-wrapper input:not([type=checkbox]):not([type=radio]):disabled,
    .input-wrapper input[type=search]:disabled,
    .input-wrapper textarea:disabled {
      border-color: #3c3660;
      background: #efefef; }
  .input-wrapper--filled input:not([type=checkbox]):not([type=radio]),
  .input-wrapper--filled textarea {
    border: 1px solid #3c3660; }
  .input-wrapper--error label {
    color: #b21414; }
  .input-wrapper--error input:not([type=checkbox]):not([type=radio]),
  .input-wrapper--error textarea {
    border: 1px solid #b21414 !important; }
  .input-wrapper--tooltip {
    position: relative; }
    .input-wrapper--tooltip input:not([type=checkbox]):not([type=radio]),
    .input-wrapper--tooltip input[type=search] {
      padding-right: 35px; }

.input-tooltipIcon {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #e8e7f1;
  border: 1px solid #3c3660;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: calc(50% + 12px);
  right: 15px;
  transform: translateY(-50%);
  z-index: 996; }
  .input-tooltipIcon:hover + .input-tooltipText, .input-tooltipIcon:focus + .input-tooltipText {
    opacity: 1; }

.input-tooltipText {
  display: block;
  width: 50%;
  padding: 10px;
  background: #fff;
  border: 1px solid #3c3660;
  color: #3c3660;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  bottom: calc(100% - 20px);
  right: 28px;
  transform: translateX(50%);
  transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  z-index: 996; }
  .input-tooltipText::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #3c3660;
    border-top: none;
    border-left: none;
    position: absolute;
    bottom: -9px;
    right: 50%;
    transform: translateX(50%) rotate(45deg); }
  @media (max-width: 480px) {
    .input-tooltipText {
      width: 60%;
      right: 0;
      transform: none; }
      .input-tooltipText::after {
        right: 20px;
        transform: rotate(45deg); } }

.input-tooltip--large .input-tooltipText {
  width: 100%; }
  @media (max-width: 480px) {
    .input-tooltip--large .input-tooltipText {
      width: 60%; } }

.input-group {
  width: 100%;
  margin-bottom: 30px;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: space-between; }
  .input-group:last-of-type {
    margin-bottom: 0; }
  .input-group .input-wrapper {
    width: calc((100% - 35px) / 2);
    margin: 0; }
    @media (max-width: 480px) {
      .input-group .input-wrapper {
        width: calc((100% - 15px) / 2); } }
  .input-group--halfQrt .input-wrapper:nth-child(n + 2) {
    width: calc((((100% - 35px) / 2) - 35px) / 2); }

.input-radios {
  padding: 15px;
  border: 1px solid #e8e7f1;
  line-height: 21px; }

.input-radio {
  display: inline-block; }
  .input-radio input[type=radio] {
    display: none; }
    .input-radio input[type=radio]:checked + label::before {
      border: 4px solid #8a28ca; }
  .input-radio label {
    margin: 0 50px 0 0;
    color: #3c3660;
    font-size: 14px;
    font-weight: 500; }
    .input-radio label::before {
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      margin-right: 10px;
      border: 1px solid #8a28ca;
      border-radius: 50%; }

.input-checkbox input[type=checkbox] {
  display: none; }
  .input-checkbox input[type=checkbox]:checked + label::before {
    background: #8a28ca; }

.input-checkbox label {
  color: #8a28ca;
  font-size: 12px;
  font-weight: 500;
  line-height: 1; }
  .input-checkbox label::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    background: #fff;
    border: 1px solid #8a28ca;
    vertical-align: baseline;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }

.input-textarea {
  width: 100%;
  height: 85px;
  position: relative; }
  .input-textarea--large {
    height: 285px; }
  .input-textarea textarea {
    width: 100%;
    height: 100%;
    resize: none; }
    .input-textarea textarea:disabled {
      background: #f9f9f9;
      border-color: #e8e7f1;
      color: #e8e7f1; }
      .input-textarea textarea:disabled:hover {
        border: 1px solid #e8e7f1; }
  .input-textarea label {
    line-height: 1.5;
    opacity: 0.5;
    position: absolute;
    top: 17.5px;
    left: 16px;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .input-textarea--filled label {
    opacity: 0;
    pointer-events: none; }
  .input-textarea--filled textarea {
    border: 1px solid #3c3660; }

.input-textareaRemaining {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid #e8e7f1;
  border-radius: 10px;
  font-size: 10px;
  line-height: 1;
  position: absolute;
  bottom: 8px;
  right: 20px; }

.input-helper {
  margin-top: 8px;
  font-size: 12px; }

.pac-container {
  background: #fff;
  border: none;
  box-shadow: 0 5px 20px 0 #e8e7f1; }
  .pac-container::after {
    padding: 0;
    margin: 8px; }

.pac-item {
  padding: 15px;
  border: none;
  color: #3c3660;
  font-family: "Quicksand", sans-serif;
  font-size: 14px;
  font-weight: 500; }
  .pac-item:hover, .pac-item-selected {
    background: #e8e7f1; }

.pac-icon {
  display: none; }

.contact-form .contact-form__success {
  color: #fff; }

.contact-form .contact-form__error {
  color: red; }

.contact-form .contact-form__group {
  border: 2px solid rgba(232, 231, 241, 0.4);
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: flex-start; }
  .contact-form .contact-form__group input {
    padding: 15px 5px;
    background: #3c3660;
    color: #fff;
    border: none;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none; }
  .contact-form .contact-form__group .button:hover, .contact-form .contact-form__group .button:focus {
    background: #8a28ca; }

.crumbs {
  margin: 35px 0; }

.crumb {
  display: inline-block;
  color: #3c3660;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer; }
  .crumb .link {
    color: #3c3660;
    text-decoration: underline; }
    .crumb .link:hover, .crumb .link:focus {
      color: #8a28ca; }
  .crumb--inactive {
    opacity: 0.5;
    cursor: auto; }
  .crumb::after {
    content: ' / ';
    text-decoration: none; }
  .crumb:last-of-type::after {
    content: none; }

.collections {
  margin: 50px auto 50px; }
  @media (max-width: 480px) {
    .collections {
      margin: 40px 0 60px; } }

.pdp {
  margin-bottom: 80px; }
  .pdp-main {
    margin-bottom: 150px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between; }
  .pdp-sticky {
    width: calc((100% - 35px) / 2);
    position: -webkit-sticky;
    position: sticky;
    top: 150px; }
  .pdp-scroll {
    width: calc((100% - 35px) / 2); }
  .pdp-gallery {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between; }
  .pdp-galleryButton {
    padding: 0;
    margin: 0;
    margin-bottom: 10px;
    background: none;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none; }
    .pdp-galleryButton:last-of-type {
      margin-bottom: 0; }
  .pdp-galleryImage {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
    transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .pdp-galleryThumbs {
    width: 70px;
    margin-right: 10px;
    flex-shrink: 0; }
    .pdp-galleryThumbs .pdp-galleryImage {
      height: 85px;
      opacity: 0.25;
      cursor: pointer; }
      .pdp-galleryThumbs .pdp-galleryImage--active {
        opacity: 1; }
  .pdp-galleryMain {
    padding-top: calc((100% - 80px) * 1.22);
    flex-grow: 1;
    position: relative; }
    .pdp-galleryMain .pdp-galleryImage {
      opacity: 0;
      pointer-events: none;
      position: absolute;
      top: 0;
      left: 0; }
      .pdp-galleryMain .pdp-galleryImage--active {
        opacity: 1;
        pointer-events: auto; }
  .pdp-price {
    margin-bottom: 15px; }
    .pdp-price--sale {
      color: #8a28ca; }
    .pdp-price--old {
      color: #3c3660;
      text-decoration: line-through; }
  .pdp-descript {
    margin-bottom: 15px;
    color: #7f7f7f; }
    .pdp-descript * {
      width: 100%;
      color: #7f7f7f;
      font-family: "Quicksand", sans-serif !important;
      font-size: 16px !important; }
    .pdp-descript a {
      padding: 0;
      color: #8a28ca;
      font-size: 12px;
      font-weight: 700;
      background: none;
      border: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      outline: none;
      cursor: pointer; }
      .pdp-descript a:hover, .pdp-descript a:focus {
        text-decoration: underline; }
    @media (max-width: 768px) {
      .pdp-descript {
        text-align: left; } }
  .pdp-nextDelivery {
    line-height: 1; }
  .pdp-deliveryOptions {
    margin-bottom: 3px;
    display: flex;
    align-items: center; }
  .pdp-deliveryOption {
    margin-bottom: 3px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start; }
    .pdp-deliveryOption:last-of-type {
      margin-bottom: 0; }
  .pdp-deliveryIcons {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center; }
  .pdp-deliveryOptionIcon {
    display: inline-block;
    height: 18px;
    margin: 0 8px; }
  .pdp-deliveryMap {
    margin-top: 15px;
    margin-bottom: 35px; }
    .pdp-deliveryMap .link {
      font-size: 14px; }
    @media (max-width: 768px) {
      .pdp-deliveryMap {
        text-align: left; } }
  .pdp-deliveryMapModal {
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999; }
  .pdp-deliveryModalContainer {
    width: 100%;
    max-width: 1200px;
    max-height: 100%;
    padding: 30px 100px;
    margin: 0 auto;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }
    .pdp-deliveryModalContainer .delivery {
      margin: 0; }
  .pdp-upsellContainer {
    position: relative; }
  .pdp-upsellArrow {
    width: 30px;
    padding: 0;
    background: transparent;
    background-image: url(../assets/arrow-right.svg);
    background-size: 10px 15px;
    background-repeat: no-repeat;
    background-position: center center;
    border: none;
    box-shadow: none;
    outline: none;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
    position: absolute;
    top: 60px;
    bottom: 30px;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .pdp-upsellArrow--prev {
      left: -45px;
      transform: rotate(180deg); }
    .pdp-upsellArrow--next {
      right: -45px; }
    .pdp-upsellArrow--visible {
      opacity: 1;
      pointer-events: auto; }
    .pdp-upsellArrow:hover {
      opacity: 0.5; }
    @media (max-width: 768px) {
      .pdp-upsellArrow {
        display: none; } }
  .pdp-upsell {
    width: 100%;
    padding-bottom: 30px;
    margin-top: 60px;
    font-size: 0;
    display: inline-block;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    scrollbar-width: 2px;
    scrollbar-color: #3c3660 #e8e7f1;
    display: flex; }
    .pdp-upsell::-webkit-scrollbar {
      width: 8px;
      height: 8px; }
    .pdp-upsell::-webkit-scrollbar-thumb {
      background-color: #3c3660;
      border-radius: 0; }
    .pdp-upsell::-webkit-scrollbar-track {
      background: #e8e7f1;
      border-radius: 0; }
    .pdp-upsell .upsellCard {
      width: calc((100% - 70px) / 3);
      margin-right: 11px;
      vertical-align: top;
      scroll-snap-align: start;
      border: 1px solid #e8e7f1;
      flex-shrink: 0; }
      .pdp-upsell .upsellCard-add {
        cursor: pointer;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        background: none;
        border: none;
        padding: 0; }
        .pdp-upsell .upsellCard-add:focus {
          outline: none; }
      .pdp-upsell .upsellCard-content {
        padding: 10px 10px 13px;
        display: flex;
        flex-direction: column;
        flex: 1;
        text-align: left; }
      .pdp-upsell .upsellCard:last-of-type {
        margin-right: 0; }
  .pdp-extra {
    margin-top: 55px; }
  .pdp-answer {
    margin-bottom: 20px; }
    .pdp-answer:last-of-type {
      margin-bottom: 0; }
  @media (max-width: 768px) {
    .pdp-crumbs {
      display: none; }
    .pdp-main {
      margin-bottom: 60px;
      flex-flow: column nowrap; }
    .pdp-sticky {
      width: 100%;
      margin-bottom: 20px;
      padding: static;
      top: unset; }
    .pdp-scroll {
      width: 100%; }
    .pdp-gallery {
      flex-flow: column-reverse nowrap; }
    .pdp-galleryMain {
      width: calc(100% + 30px);
      margin: 0 -15px 10px;
      padding-top: calc((100% + 30px) * 1.22); }
    .pdp-galleryThumbs {
      width: 100%;
      margin: 0;
      display: flex;
      flex-flow: row nowrap;
      align-items: stretch;
      justify-content: center; }
      .pdp-galleryThumbs .pdp-galleryImage {
        height: 100%; }
    .pdp-galleryButton {
      width: 50px;
      height: 122%;
      margin-right: 10px; }
      .pdp-galleryButton:last-of-type {
        margin-right: 0; }
    .pdp-info {
      text-align: center; }
    .pdp-price {
      margin-bottom: 10px;
      font-size: 18px; }
    .pdp-nextDelivery {
      margin-bottom: 10px; }
    .pdp-deliveryOptions {
      margin-bottom: 3px; }
    .pdp-deliveryOption {
      flex-flow: column nowrap; }
      .pdp-deliveryOption span {
        margin: 8px 0 0; }
    .pdp-deliveryMap {
      margin-bottom: 0; }
    .pdp-deliveryMapModal {
      position: fixed;
      width: 100%;
      overflow-x: hidden;
      overflow-y: auto;
      top: 0;
      bottom: 72px;
      left: 0;
      transform: none;
      z-index: 998; }
    .pdp-deliveryModalContainer {
      width: 100%;
      height: 100%;
      padding: 0;
      top: unset;
      left: unset;
      transform: none; }
      .pdp-deliveryModalContainer .delivery-option {
        display: none; }
    .pdp-cartContainer {
      padding: 5px 25px 25px 25px;
      background: #fff;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 998; } 
  }
  @media only screen and (max-width: 768px) and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
    .pdp-cartContainer {
      padding-bottom: 45px; } }
  @media (max-width: 768px) {
    .pdp-cart {
      width: 100%;
      text-align: center; }
    .pdp-upsell {
      width: calc(100% + 30px);
      margin: 50px -15px 0;
      padding: 0 15px 30px;
      scroll-padding: 0 15px; }
      .pdp-upsell .upsellCard {
        width: calc((135% - 30px) / 3);
        margin-right: 15px; }
    .pdp-extra {
      margin-top: 30px; } }

.login-container {
  margin: 50px 0; }

.login .errors {
  margin-bottom: 30px; 
  margin-top: 10px;
}
  .login .errors ul {
    list-style: none;
  }
  .login .errors li {
    color: #b21414;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2; 
  }

.login-title {
  margin-bottom: 25px; }

.login-ctas {
  margin-top: 40px; }

.login-submit {
  margin-right: 15px; }

.login-forgotLink {
  display: inline-block;
  margin-top: 15px; }

.login-forgot {
  display: none; }
  .login-forgot--show {
    display: block; }

.login-newSiteWarning {
  margin-bottom: 30px;
  font-size: 14px; }
  .login-newSiteWarning span {
    display: block;
    color: #b21414;
    font-size: 16px;
    font-weight: 700; }

@media (max-width: 480px) {
  .login-ctas {
    margin-top: 20px; }
  .login-container {
    margin: 35px 0; }
    .login-container .inputs-container {
      width: 100%; }
  .login-register .input-group {
    flex-flow: column nowrap;
    margin-bottom: 0; }
    .login-register .input-group .input-wrapper {
      width: 100%;
      margin-bottom: 30px; } }

.cflow-crumbs {
  position: relative; }

.cflow-crumb--underline span {
  text-decoration: underline; }

.cflow-container {
  margin-bottom: 100px;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: space-between; }

.cflow-cards {
  width: 25%;
  min-width: 375px;
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  justify-content: flex-start;
  flex-shrink: 0;
  order: 1; }

.cflow-cardsHeader {
  display: none; }

.cflow-card {
  display: inline-block;
  width: 100%;
  min-height: 160px;
  margin-bottom: 20px;
  padding: 20px;
  border: 2px solid #efefef; }
  .cflow-card:last-of-type {
    margin-bottom: 0; }
  .cflow-card--cart {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: flex-start; }
  .cflow-card p:last-of-type {
    margin-bottom: 0; }

.cflow-cardImage {
  display: inline-block;
  width: 100px;
  height: 100%;
  margin-right: 24px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;'; }

.cflow-cardInfo {
  width: 100%;
  position: relative; }

.cflow-cardTitle {
  margin-bottom: 10px;
  color: #3c3660;
  font-size: 14px;
  font-weight: 500;
  line-height: 1; }

.cflow-cardEdit {
  padding: 0;
  background: none;
  border: none;
  line-height: 1;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  top: 0;
  right: 0; }

.cflow-cardText, .cflow-cardListItem {
  color: #7f7f7f;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.69; }

.cflow-forms {
  margin-right: 35px;
  flex-grow: 1; }

.cflow-formTitle {
  margin-bottom: 25px; }

.cflow-subtitle {
  margin-bottom: 25px;
  color: #7f7f7f; }

.cflow-back {
  display: none;
  padding: 0;
  margin-bottom: 15px; }
  .cflow-back::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 8px;
    margin-right: 8px;
    background-image: url(../assets/arrow-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(180deg); }
  .cflow-back--desk {
    display: block; }

.cflow-cta {
  margin-top: 40px;
  text-align: right; }

.cflow-required {
  margin-top: 15px;
  color: #3c3660; }

.cflow-error {
  margin-top: 10px; }

.cflow-errorText {
  color: #b21414;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2; }

.cflow-errorSymbol {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  border: 1px solid #b21414;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
  text-align: center; }

@media (max-width: 768px) {
  .cflow .container {
    margin: 15px auto 60px; }
  .cflow-crumbs {
    display: none; }
  .cflow-container {
    flex-flow: column-reverse nowrap; }
  .cflow-back {
    display: inline-block; }
  .cflow-cards {
    display: block;
    width: calc(100% + 30px);
    min-width: unset;
    padding: 0 15px;
    margin: 0 -15px;
    border-bottom: 1px solid #efefef; }
  .cflow-cardsHeader {
    display: block;
    width: calc(100% + 30px);
    margin: 0 -15px;
    padding: 15px;
    border-top: 1px solid #efefef;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    position: relative; }
    .cflow-cardsHeader::after {
      content: '';
      display: block;
      width: 10px;
      height: 7px;
      background-image: url(../assets/arrow-down.svg);
      background-size: contain;
      background-repeat: no-repeat;
      pointer-events: none;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cflow-cardsHeader--open::after {
      transform: translateY(-50%) rotate(180deg); }
  .cflow-cardsContainer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cflow-cardsContainer--open {
      max-height: 100vh; }
  .cflow-card {
    padding: 10px;
    margin-bottom: 10px;
    min-height: unset; }
    .cflow-card:last-of-type {
      margin-bottom: 20px; }
  .cflow-cardImage {
    margin-right: 20px; }
  .cflow-cardInfo {
    padding: 10px; }
  .cflow-cardEdit {
    padding: 8px;
    top: 2px;
    right: 2px; }
  .cflow-cardListItem {
    font-size: 12px;
    line-height: 1.75; }
  .cflow-cardText {
    font-size: 12px; }
  .cflow-forms {
    width: 100%;
    margin: 25px 0 0; }
  .cflow-formTitle {
    margin-bottom: 20px;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.14; } }

.cflow-recipient h6 {
  margin-bottom: 20px; }

.cflow-deliveryMechanism {
  display: flex;
  flex-direction: row; }
  .cflow-deliveryMechanism .cflow-deliveryMechanism--selected {
    color: #8a28ca; }
  .cflow-deliveryMechanism .switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 22px; }
  .cflow-deliveryMechanism .switch input {
    opacity: 0;
    width: 0;
    height: 0; }
  .cflow-deliveryMechanism .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    transition: .4s;
    border-radius: 34px;
    border: 1px solid #e8e7f1; }
  .cflow-deliveryMechanism .slider:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 3px;
    background-color: #8a28ca;
    transition: .4s;
    border-radius: 50%; }
  .cflow-deliveryMechanism label:first-child,
  .cflow-deliveryMechanism label:last-child {
    vertical-align: bottom;
    font-size: 15px;
    font-weight: bold;
    margin-top: 3px; }
  .cflow-deliveryMechanism label:first-child {
    margin-right: 10px; }
  .cflow-deliveryMechanism label:last-child {
    margin-left: 10px; }
  .cflow-deliveryMechanism input:checked + .slider {
    /* background-color: #2196F3; */ }
  .cflow-deliveryMechanism input:focus + .slider {
    /* box-shadow: 0 0 1px #2196F3; */ }
  .cflow-deliveryMechanism input:checked + .slider:before {
    transform: translateX(26px); }

.cflow-savedAddressContainer {
  position: relative; }
  .cflow-savedAddressContainer--open .cflow-savedAddressInput::after {
    transform: translateY(-50%) rotate(180deg); }
  .cflow-savedAddressContainer--open .cflow-savedAddresses {
    display: block; }

.cflow-savedAddressInput {
  position: relative; }
  .cflow-savedAddressInput input:not([type=checkbox]):not([type=radio]) {
    padding-right: 40px; }
  .cflow-savedAddressInput::after {
    content: '';
    display: block;
    width: 10px;
    height: 7px;
    background-image: url(../assets/arrow-down.svg);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }

.cflow-addressDropdown {
  background: #fff !important;
  position: relative;
  cursor: pointer; }

.cflow-savedAddresses {
  display: none;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 20px 0 #efefef;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 997; }

.cflow-savedAddress input[type=radio] {
  display: none; }

.cflow-savedAddress label {
  padding: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .cflow-savedAddress label:hover, .cflow-savedAddress label:focus {
    background: #e8e7f1; }

@media (max-width: 480px) {
  .cflow .input-group, .referrals-flow .input-group {
    flex-flow: column wrap;
    margin-bottom: 0; }
    .cflow .input-group .input-wrapper, .referrals-flow  .input-group .input-wrapper {
      width: 100%;
      margin-bottom: 15px; } 

   .phone-container {
     margin-bottom: 15px;
   }
 }

.cflow-noDatesAvailable {
  color: #b21414; }

.cflow-date .vdp-datepicker {
  margin-bottom: 15px; }
  .cflow-date .vdp-datepicker__calendar {
    width: 75%;
    border: none; }
  .cflow-date .vdp-datepicker header {
    display: flex;
    justify-content: space-between;
    color: #3c3660;
    font-size: 16px;
    font-weight: 700; }
    .cflow-date .vdp-datepicker header .prev,
    .cflow-date .vdp-datepicker header .next {
      width: 40px;
      height: 40px;
      border: 2px solid #e8e7f1;
      color: #8a28ca;
      font-weight: bold;
      border-radius: 100%; }
    .cflow-date .vdp-datepicker header .next {
      float: right; }
    .cflow-date .vdp-datepicker header .prev {
      float: left; }
    .cflow-date .vdp-datepicker header .prev::after,
    .cflow-date .vdp-datepicker header .next::after {
      width: 7px;
      height: 10px;
      margin: 0;
      background-image: url(../assets/arrow-right.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      border: none;
      opacity: 1;
      color: #8a28ca;
      font-weight: bold;
      transition: 0.2s all cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cflow-date .vdp-datepicker header .prev:hover,
    .cflow-date .vdp-datepicker header .next:hover {
      background: transparent; }
      .cflow-date .vdp-datepicker header .prev:hover::after,
      .cflow-date .vdp-datepicker header .next:hover::after {
        opacity: 1; }
    .cflow-date .vdp-datepicker header .prev.disabled,
    .cflow-date .vdp-datepicker header .next.disabled {
      border-color: #fff; }
    .cflow-date .vdp-datepicker header .prev.disabled::after,
    .cflow-date .vdp-datepicker header .next.disabled::after {
      content: none; }
    .cflow-date .vdp-datepicker header .prev::after {
      transform: translate3d(-50%, -50%, 0) rotate(180deg); }
  .cflow-date .vdp-datepicker .cell {
    height: 50px;
    color: #8a28ca;
    border: 1px solid #e8e7f1;
    font-size: 12px;
    font-weight: 700;
    line-height: 50px;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cflow-date .vdp-datepicker .cell.day-header {
      color: #3c3660;
      font-weight: 500;
      border: none; }
    .cflow-date .vdp-datepicker .cell.disabled {
      background: #f9f9f9;
      color: #e8e7f1; }
    .cflow-date .vdp-datepicker .cell:not(.blank):not(.disabled).day:hover {
      color: #3c3660;
      border-color: #e8e7f1; }
      .cflow-date .vdp-datepicker .cell:not(.blank):not(.disabled).day:hover.selected {
        color: #fff;
        background: #8a28ca;
        border-color: #8a28ca; }
    .cflow-date .vdp-datepicker .cell.selected {
      background: #8a28ca;
      border: 1px solid #8a28ca;
      color: #fff; }

.cflow-selectedTime {
  color: #7f7f7f;
  font-size: 14px;
  line-height: 1; }
  .cflow-selectedTime span {
    color: #3c3660;
    font-weight: 700; }

.cflow-timeslots {
  width: 100%;
  margin-top: 10px;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: flex-start; }
  .cflow-timeslots--car {
    width: 100%; }

.cflow-timeslot {
  width: calc((100% - 80px) / 5);
  margin-right: 20px; }
  .cflow-timeslot:nth-child(5n) {
    margin-right: 20px; }
  .cflow-timeslot:nth-child(n + 6) {
    margin-top: 20px; }
  .cflow-timeslot:last-of-type {
    margin-right: 0; }
  .cflow-timeslots--car .cflow-timeslot {
    width: calc((100% - 80px) / 5); }
    .cflow-timeslots--car .cflow-timeslot:nth-child(5n) {
      margin-right: 20px; }
    .cflow-timeslots--car .cflow-timeslot:nth-child(n + 6) {
      margin-top: 20px; }
    .cflow-timeslots--car .cflow-timeslot:last-of-type {
      margin-right: 0; }
  .cflow-timeslot:hover p {
    color: #3c3660; }
  .cflow-timeslot input {
    display: none; }
    .cflow-timeslot input:checked + label {
      background: #8a28ca;
      border: 2px solid #8a28ca; }
      .cflow-timeslot input:checked + label p {
        color: #fff; }
    .cflow-timeslot input:disabled + label {
      background: #f9f9f9;
      border: 2px solid #e8e7f1;
      cursor: auto; }
      .cflow-timeslot input:disabled + label p {
        color: #e8e7f1; }
  .cflow-timeslot label {
    display: inline-block;
    width: 100%;
    padding: 12px;
    margin: 0;
    border: 2px solid #efefef;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .cflow-timeslot p {
    color: #8a28ca;
    font-size: 14px;
    font-weight: 700;
    text-align: center; }
    .cflow-timeslot p.cflow-timeslotPrice {
      font-size: 12px;
      font-weight: 500; }

@media (max-width: 480px) {
  .cflow-date .vdp-datepicker__calendar {
    width: 100%; }
  .cflow-timeslots {
    width: 100%; }
  .cflow-timeslot {
    width: calc((100% - 20px) / 3);
    margin-right: 10px; }
    .cflow-timeslot:nth-child(3n) {
      margin-right: 0; }
    .cflow-timeslot.gift-card-variant:nth-child(3n) {
      margin-right: 10px; }
    .cflow-timeslot:nth-child(5n) {
      margin-right: 10px; }
    .cflow-timeslot:nth-child(n + 4) {
      margin-top: 10px; }
    .cflow-timeslot.gift-card-variant:nth-child(n + 4) {
      margin-top: 0; }
    .cflow-timeslot:nth-child(n + 6) {
      margin-top: 10px; }
    .cflow-timeslot:last-of-type {
      margin-right: 0; }
    .cflow-timeslot.gift-card-variant:last-of-type {
      margin-right: 10px; }
    .cflow-timeslots--car .cflow-timeslot {
      width: calc((100% - 20px) / 3); }
    .cflow-timeslot label {
      padding: 8px; }
    .cflow-timeslot p {
      font-size: 13px; } 
    .cflow-timeslot.gift-card-variant:nth-child(n+5) {
      margin-top: 10px !important;
    }
    }

.cflow-note .input-wrapper {
  margin-bottom: 20px; }
  .cflow-note .input-wrapper .input-newLine {
    bottom: 32px; }

.account {
  margin: 60px auto 100px; }
  .account-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: space-between; }
  .account-nav {
    width: 380px;
    margin-right: 100px;
    position: -webkit-sticky;
    position: sticky;
    top: 150px; }
  .account-navSelected {
    display: none; }
  .account-navItem {
    margin-bottom: 20px;
    position: relative; }
    .account-navItem button {
      width: 100%;
      padding: 28px;
      border-color: #e8e7f1;
      line-height: 1;
      text-align: left;
      outline: none; }
    .account-navItem::after {
      content: '';
      display: block;
      width: 12px;
      height: 8px;
      background-image: url(../assets/arrow-down.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      top: 50%;
      right: 30px;
      transform: translateY(-50%) rotate(270deg);
      transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .account-navItem:last-of-type {
      margin-bottom: 0; }
    .account-navItem--active button {
      border-color: #3c3660; }
    .account-navItem--active::after {
      opacity: 1;
      pointer-events: auto; }
  .account-logout {
    margin-top: 20px; }
    .account-logout--mobile {
      display: none; }
  .account-screens {
    flex-grow: 1; }
  .account-screen--profile, .account-screen--billing, .account-screen--orders {
    margin-top: -8px; }
  .account-ctas {
    margin-top: 30px; }
  @media (max-width: 480px) {
    .account {
      margin: 0 0 60px; }
      .account-container {
        display: block; }
      .account-navContainer {
        width: calc(100% + 30px);
        margin: 0 -15px;
        position: relative; }
      .account-navSelected {
        display: block;
        padding: 15px;
        padding-right: 40px;
        border-bottom: 1px solid #efefef;
        color: #3c3660;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
        position: relative; }
        .account-navSelected::after {
          content: '';
          display: block;
          width: 10px;
          height: 7px;
          background-image: url(../assets/arrow-down.svg);
          background-size: contain;
          background-repeat: no-repeat;
          pointer-events: none;
          position: absolute;
          top: 50%;
          right: 20px;
          transform: translateY(-50%);
          transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
      .account-nav {
        display: block;
        width: 100%;
        max-height: 0;
        margin: 0;
        background: #fff;
        box-shadow: 0 0 20px 0 #efefef;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 998;
        overflow: hidden;
        transition: max-height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
        .account-nav--open {
          width: 100%;
          padding: 8px 0;
          max-height: 100vh; }
      .account-navItem {
        margin-bottom: 0;
        background: #fff; }
        .account-navItem button {
          border: none;
          padding: 15px;
          background: transparent; }
        .account-navItem::after {
          content: none; }
        .account-navItem--active {
          background: #e8e7f1; }
      .account-logout--mobile {
        display: inline-block; }
      .account-logout--desktop {
        display: none; }
      .account-screens {
        padding-top: 25px; }
        .account-screens .inputs-container {
          width: 100%; }
      .account-screen {
        margin: 0; } }

.account-address {
  padding: 20px 30px;
  margin-bottom: 30px;
  border: 2px solid #e8e7f1;
  position: relative; }
  .account-address:last-of-type {
    margin-bottom: 0; }
  .account-addressName {
    margin-bottom: 10px;
    color: #3c3660;
    font-size: 12px;
    font-weight: 700;
    line-height: 1; }
  .account-addressEdit {
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%); }
  .account-addressModal {
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999; }
    .account-addressModal .account-ctas {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: space-between; }
  .account-addressForm {
    width: 100%;
    max-width: 1200px;
    padding: 60px 100px;
    margin: 0 auto;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }
  .account-addressFormClose {
    width: 16px;
    height: 16px;
    background-color: transparent;
    background-image: url(../assets/close.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    position: absolute;
    top: 30px;
    right: 30px; }
  @media (max-width: 480px) {
    .account-address {
      padding: 20px;
      margin-bottom: 20px; }
      .account-addressPhone, .account-addressAddress, .account-addressCity {
        font-size: 12px; }
      .account-addressEdit {
        padding: 6px;
        border: none;
        color: #8a28ca;
        top: 12px;
        right: 12px;
        transform: none; }
      .account-addressForm {
        position: fixed;
        width: 100%;
        height: 100vh;
        padding: 60px 15px;
        overflow-x: hidden;
        overflow-y: auto;
        top: 0;
        left: 0;
        transform: none;
        z-index: 998; }
        .account-addressForm .input-group {
          flex-flow: column wrap;
          margin-bottom: 0; }
          .account-addressForm .input-group .input-wrapper {
            width: 100%;
            margin-bottom: 15px; } }

.account-order,
.account-ordersHeader, .account-rewardsHeader {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: space-between; }
  .account-order--recipient,
  .account-ordersHeader--recipient {
    width: 35%; }
  .account-order--number,
  .account-ordersHeader--number {
    width: 10%; }
  .account-order--date,
  .account-ordersHeader--date, .account-reward--discount,.account-rewardsHeader--discount {
    width: 30%; }
  .account-order--status,
  .account-ordersHeader--status {
    width: 25%; }
  .account-reward--status,.account-rewardsHeader--status, .account-reward--date,.account-rewardsHeader--date {
    width: 35%;
  }
  .account-order--numberMobile,
  .account-ordersHeader--numberMobile {
    display: none; }

.account-ordersHeader,.account-rewardsHeader {
  padding-bottom: 15px;
  color: #3c3660;
  border-bottom: 1px solid #e8e7f1;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25; }
  @media (max-width: 480px) {
    .account-ordersHeader,.account-rewardsHeader {
      display: none; } }

.account-order {
  padding: 15px 0;
  border-bottom: 1px solid #e8e7f1; }
  .account-order:last-of-type {
    border: none; }
  .account-order--number a {
    font-size: 14px; }
  .account-order p {
    color: #7f7f7f;
    font-size: 14px; }
  @media (max-width: 480px) {
    .account-order {
      padding: 15px 0;
      flex-flow: column nowrap;
      overflow-y: hidden; }
     .account-order.account-reward {
      flex-flow: row nowrap;
     }
      .account-order--open {
        max-height: auto; }
      .account-order--recipient, .account-order--number, .account-order--status, .account-order--date, .account-reward--date, .account-reward--status, .account-reward--discount {
        width: 100%; }
      .account-order--number,.account-reward--discount {
        margin-bottom: 15px; }
        .account-order--number p {
          color: #3c3660;
          font-size: 16px;
          font-weight: 700;
          line-height: 1; }
        .account-order--number a {
          display: none; }
      .account-order--recipient, .account-order--status, .account-reward--status {
        margin-bottom: 10px; } }

.shopify-challenge__container {
  margin: 150px auto; }

.shopify-challenge__button {
  display: inline-block;
  padding: 15px 55px;
  background: #3c3660;
  border: 2px solid #3c3660;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .shopify-challenge__button:hover, .shopify-challenge__button:focus {
    background: #262046;
    border: 2px solid #262046; }

.odash {
  margin: 60px 0; }
  .odash-password {
    width: 100%;
    height: 50vh;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center; }
  .odash-passwordContainer {
    width: 60%; }
  .odash-passwordTitle {
    margin-bottom: 30px; }
  .odash-passwordError {
    margin-bottom: 15px;
    color: #8a28ca;
    font-size: 16px;
    font-weight: 700; }
  .odash-passwordSubmit {
    margin-top: 30px; }
  .odash-problems h3 {
    color: #b21414; }
  .odash-problems, .odash-filtered {
    margin-bottom: 50px; }
  .odash-filtersContainer {
    margin: 15px 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: flex-start; }
  .odash-timeslotsContainer {
    margin-left: 30px;
    flex-grow: 1; }
  .odash-timeslots {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start; }
  .odash-timeslot {
    margin: 5px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
  .odash-orders {
    margin: 15px;
    margin-left: 0; }
  .odash-print {
    margin-left: 15px; }
  .odash table {
    width: 100%;
    font-size: 11px;
    text-align: left;
    border-collapse: collapse; }
    .odash table tr {
      border-bottom: 1px solid #e8e7f1; }
    .odash table th {
      padding: 5px;
      cursor: pointer; }
      .odash table th.isSorted::after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        background-image: url(../assets/arrow-down.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        margin-left: 3px; }
      .odash table th.isSorted--asc::after {
        transform: rotate(180deg); }
      .odash table th:last-of-type {
        width: 5%; }
    .odash table td {
      padding: 5px; }
  .odash-title {
    margin-bottom: 30px; }

.faq {
  margin: 60px auto 100px; }
  .faq-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: space-between; }
  .faq-nav {
    width: 380px;
    margin-right: 100px;
    position: -webkit-sticky;
    position: sticky;
    top: 150px; }
  .faq-navSelected {
    display: none; }
  .faq-navItem {
    margin-bottom: 20px;
    position: relative; }
    .faq-navItem button {
      width: 100%;
      padding: 28px;
      border-color: #e8e7f1;
      line-height: 1;
      text-align: left;
      outline: none; }
    .faq-navItem::after {
      content: '';
      display: block;
      width: 12px;
      height: 8px;
      background-image: url(../assets/arrow-down.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      top: 50%;
      right: 30px;
      transform: translateY(-50%) rotate(270deg);
      transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .faq-navItem:last-of-type {
      margin-bottom: 0; }
    .faq-navItem--active button {
      border-color: #3c3660; }
    .faq-navItem--active::after {
      opacity: 1;
      pointer-events: auto; }
  .faq-sections {
    flex-grow: 1; }
  @media (max-width: 480px) {
    .faq {
      margin: 0 0 60px; }
      .faq-container {
        display: block; }
      .faq-navContainer {
        width: calc(100% + 30px);
        margin: 0 -15px;
        position: relative; }
      .faq-navSelected {
        display: block;
        padding: 15px;
        padding-right: 40px;
        border-bottom: 1px solid #efefef;
        color: #3c3660;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
        position: relative; }
        .faq-navSelected::after {
          content: '';
          display: block;
          width: 10px;
          height: 7px;
          background-image: url(../assets/arrow-down.svg);
          background-size: contain;
          background-repeat: no-repeat;
          pointer-events: none;
          position: absolute;
          top: 50%;
          right: 20px;
          transform: translateY(-50%);
          transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
      .faq-nav {
        display: block;
        width: 100%;
        max-height: 0;
        margin: 0;
        background: #fff;
        box-shadow: 0 0 20px 0 #efefef;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 998;
        overflow: hidden;
        transition: max-height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
        .faq-nav--open {
          width: 100%;
          padding: 8px 0;
          max-height: 100vh; }
      .faq-navItem {
        margin-bottom: 0;
        background: #fff; }
        .faq-navItem button {
          border: none;
          padding: 15px;
          background: transparent; }
        .faq-navItem::after {
          content: none; }
        .faq-navItem--active {
          background: #e8e7f1; }
        .faq-navItem--contact {
          display: none; } }

.contact {
  margin: 60px auto 100px; }
  .contact .input-textarea {
    height: auto; }
  .contact .button {
    margin-top: 30px; }
  .contact-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between; }
  .contact-formContainer {
    width: 60%;
    margin-right: 135px; }
  .contact-success {
    margin-bottom: 30px;
    font-weight: 700;
    color: #8a28ca; }
  .contact-info {
    padding: 30px;
    margin-bottom: 24px;
    border: 1px solid #e8e7f1;
    flex-grow: 1; }
  .contact-infoListItem {
    margin-bottom: 24px;
    font-size: 16px; }
    .contact-infoListItem a {
      font-size: 16px; }
    .contact-infoListItem:last-of-type {
      margin-bottom: 0; }
  .contact-listItemTitle {
    color: #3c3660;
    font-weight: 700; }
  @media (max-width: 768px) {
    .contact-formContainer {
      margin-right: 30px; } }
  @media (max-width: 480px) {
    .contact {
      margin: 35px 0; }
      .contact-container {
        flex-flow: column nowrap; }
      .contact-formContainer, .contact-info {
        width: 100%; }
      .contact-formContainer {
        margin: 0 0 30px; } }

.page {
  margin: 60px auto 100px; }
  .page-wysiwyg h1, .page-wysiwyg h2, .page-wysiwyg h3, .page-wysiwyg h4, .page-wysiwyg h5, .page-wysiwyg h6 {
    margin-bottom: 30px; }
  .page-wysiwyg p {
    margin-bottom: 24px; }
    .page-wysiwyg p:last-of-type {
      margin-bottom: 0; }
  @media (max-width: 480px) {
    .page {
      margin: 30px 0 35px; } }

#shopify-section-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 998; }

.header-message {
  padding: 10px 0;
  background-color: #3c3660;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center; }
  .header-message .container {
    max-width: 400px; }
  @media (max-width: 480px) {
    .header-message {
      padding: 6px 0; } }

.header-nav {
  background: #fff;
  border-bottom: 1px solid #efefef; }

.nav-wrapper {
  position: relative;
  text-align: center; }

.nav-logo {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%); }

.nav-nav {
  display: inline-block; }

.nav-other {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%); }

.nav-list, .nav-otherList {
  display: inline-block;
  font-size: 0; }

.nav-listItem, .nav-otherListItem {
  display: inline-block;
  padding: 35px 15px;
  vertical-align: middle; }
  .nav-listItem a, .nav-otherListItem a {
    display: block;
    color: #3c3660;
    font-size: 14px;
    line-height: 1.34;
    font-weight: bold;
    position: relative;
    transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .nav-listItem a::after, .nav-otherListItem a::after {
      content: '';
      display: block;
      width: 0;
      height: 1px;
      background: #8a28ca;
      position: absolute;
      bottom: -2px;
      left: 0;
      transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .nav-listItem a:hover, .nav-listItem a:focus, .nav-otherListItem a:hover, .nav-otherListItem a:focus {
      color: #8a28ca; }
      .nav-listItem a:hover::after, .nav-listItem a:focus::after, .nav-otherListItem a:hover::after, .nav-otherListItem a:focus::after {
        width: 100%; }
  .nav-listItem--active a, .nav-otherListItem--active a {
    color: #8a28ca; }
  .nav-listItem--cart, .nav-otherListItem--cart {
    padding: 31px 0;
    position: relative; }
  .nav-listItem--mobile, .nav-otherListItem--mobile {
    display: none; }

@media only screen and (max-width: 950px) {
  .nav-listItem {
    padding: 35px 10px;
  }
}

.nav-cartButton {
  padding: 0;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer; }
  .nav-cartButton svg circle,
  .nav-cartButton svg path {
    fill: #3c3660;
    transition: fill 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .nav-cartButton:hover svg circle,
  .nav-cartButton:hover svg path, .nav-cartButton:focus svg circle,
  .nav-cartButton:focus svg path {
    fill: #8a28ca; }

.nav-cartQty {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: #8a28ca;
  border-radius: 50%;
  border: 1px solid #fff;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  position: absolute;
  top: 30%;
  right: -8px;
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .nav-cartQty--visible {
    opacity: 1; }

.nav-hamburger {
  display: none; }

@media (max-width: 768px) {
  .nav-wrapper {
    padding: 10px 0; }
  .nav-logo {
    height: 40px;
    position: relative;
    top: unset;
    left: unset;
    transform: none;
    font-size: 0; }
    .nav-logo a, .nav-logo img {
      display: inline-block;
      height: 100%; }
  .nav-nav {
    background: #fff;
    position: fixed;
    top: 91px;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .header--navOpen .nav-nav {
      transform: translateX(0); }
  .nav-list {
    width: 100%;
    height: 100%;
    padding: 20px 15px 0;
    text-align: left; }
  .nav-listItem {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 15px; }
    .nav-listItem a {
      display: inline-block;
      font-size: 24px;
      font-weight: 500; }
    .nav-listItem--mobile {
      display: block; }
  .nav-other {
    font-size: 0; }

    .nav-otherListItem--cart {
      display: inline-block;
      padding: 0; }
  .nav-cartQty {
    top: -4px; }
  .nav-hamburger {
    display: inline-block;
    height: 21px;
    width: 21px;
    padding: 0;
    margin-left: -3px;
    border: none;
    border-radius: none;
    background: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
    .nav-hamburger span {
      display: block;
      width: calc(100% - 6px);
      height: 1px;
      background: #3c3660;
      outline: none;
      position: absolute;
      left: 3px;
      transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
      .nav-hamburger span:nth-child(1) {
        top: 6px; }
      .nav-hamburger span:nth-child(2) {
        top: 11px;
        transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
      .nav-hamburger span:nth-child(3) {
        top: 16px; }
    .nav-hamburger--open span:nth-child(1) {
      top: 50%;
      transform: translateY(-50%) rotate(45deg); }
    .nav-hamburger--open span:nth-child(2) {
      opacity: 0;
      transform: translateX(-100%); }
    .nav-hamburger--open span:nth-child(3) {
      top: 50%;
      transform: translateY(-50%) rotate(-45deg); } }

.underline {
  display: inline-block;
  font-weight: bold;
  position: relative;
  transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .underline::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #8a28ca;
    position: absolute;
    bottom: -2px;
    left: 0;
    transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .underline:hover, .underline:focus {
    color: #8a28ca; }
    .underline:hover::after, .underline:focus::after {
      width: 100%; }

.footer {
  background: linear-gradient(90deg, #e8e7f1 70%, #3c3660 70%); }
  .footer .container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: space-between; }
  .footer-logo {
    margin-bottom: 20px; }
  .footer-menu {
    padding: 30px 0; }
  .footer-navList {
    margin-bottom: 30px; }
  .footer-navItem {
    margin-bottom: 10px; }
    .footer-navItem a {
      color: #3c3660;
      font-weight: normal; }
    .footer-navItem:last-of-type {
      margin-bottom: 0; }
  .footer-smallNavItem {
    display: inline-block;
    margin-right: 10px; }
    .footer-smallNavItem a {
      color: #3c3660; }
      .footer-smallNavItem a:hover, .footer-smallNavItem a:focus {
        color: #262046;
        text-decoration: underline; }
    .footer-smallNavItem:last-of-type {
      margin-right: 0; }
  .footer-subscribe {
    padding: 100px 100px 30px;
    background: #3c3660;
    color: #fff;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between; }
  .footer-subForm h4 {
    color: #fff;
    margin-bottom: 30px; }
  .footer-social {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
    .footer-social span {
      font-size: 11px; }
  .footer-socialList li {
    display: inline-block;
    width: 35px;
    height: 35px;
    margin-right: 15px;
    border-radius: 50%;
    border: 1px solid #fff;
    font-size: 0;
    text-align: center;
    line-height: 35px;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .footer-socialList li:hover {
      background: #8a28ca; }
    .footer-socialList li:last-of-type {
      margin-right: 0; }
    .footer-socialList li a {
      display: inline-block;
      width: 100%;
      height: 100%;
      position: relative; }
    .footer-socialList li img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0); }
  @media (max-width: 768px) {
    .footer {
      background: #e8e7f1; }
      .footer .container {
        flex-flow: column nowrap; }
      .footer-subscribe {
        width: calc(100% + 30px);
        padding: 25px 15px;
        margin: 0 -15px; }
      .footer-subForm {
        margin-bottom: 30px; }
        .footer-subForm h4 {
          margin-bottom: 15px; }
      .footer-social {
        flex-flow: column-reverse nowrap;
        align-items: flex-start; }
      .footer-socialList {
        margin-bottom: 30px; }
      .footer-smallNavItem {
        display: block;
        margin: 0 0 10px; }
        .footer-smallNavItem:last-of-type {
          margin-bottom: 0; } 
        .footer-navItem.h4 {
          font-size: 18px; 
        }
  }
    @media (min-width: 768px) {
    .footer.referrals {
      background: linear-gradient(90deg, #e8e7f1 50%, #3c3660 50%); }
   }

.cartOpen {
  overflow: hidden; }

.cart {
  position: fixed;
  width: 100%;
  height: 100%;
  transform: translateX(100%);
  transition: transform 0.01s 0.3s;
  z-index: 999; }
  .cartOpen .cart {
    opacity: 1;
    transform: none;
    transition: none; }
  .cart-overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cartOpen .cart-overlay {
      width: 60%;
      opacity: 1; }
  .cart-container {
    width: 40%;
    min-width: 560px;
    height: 100%;
    padding-bottom: 40px;
    background: #fff;
    border-left: 1px solid #efefef;
    position: absolute;
    top: 0;
    left: 100%;
    display: flex;
    flex-flow: column;
    transform: none;
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cartOpen .cart-container {
      transform: translateX(-100%); }
  .cart-header {
    padding: 20px 20px;
    border-bottom: 1px solid #efefef;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
  .cart-close {
    padding: 0;
    background: none;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer; }
  .cart-body {
    height: 100%;
    padding: 30px 60px;
    overflow-y: scroll; }
  .cart-item {
    max-height: 80px;
    margin-bottom: 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cart-item:last-of-type {
      margin-bottom: 0; }
  .cart-itemImage {
    width: 80px;
    height: 80px;
    margin-right: 20px;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;'; }
  .cart-itemInfo {
    flex-grow: 1;
    position: relative; }
  .cart-itemTitle {
    margin-bottom: 15px;
    color: #3c3660;
    font-size: 14px;
    font-weight: 700;
    line-height: 1; }
  .cart-itemLine {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: space-between; }
  .cart-itemQuantity {
    border: 1px solid #e8e7f1;
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
    .cart-itemQuantity span {
      width: 25px;
      font-size: 12px;
      line-height: 25px;
      text-align: center; }
  .cart-quantityButton {
    width: 25px;
    height: 25px;
    padding: 0;
    color: #8a28ca;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .cart-quantityButton img {
      display: block;
      width: 6px;
      margin: 0 auto; }
    .cart-quantityButton:hover, .cart-quantityButton:focus {
      background: #f9f9f9; }
  .cart-itemPrice {
    color: #3c3660;
    font-size: 14px;
    font-weight: 500; }
  .cart-itemRemove {
    width: 10px;
    height: 10px;
    padding: 0;
    background: none;
    color: #8a28ca;
    border: 0;
    line-height: 25px;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer; }
  .cart-footer {
    padding: 5px 60px;
    border-top: 1px solid #efefef;
    flex-shrink: 0; }
  .cart-delivery, .cart-subtotal {
    margin-bottom: 15px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
    .cart-delivery p, .cart-subtotal p {
      font-size: 14px;
      font-weight: 500;
      color: #3c3660; }
  .cart-delivery {
    margin-bottom: 5px;
  }
  .cart-subtotal {
    padding: 15px 0;
    margin: 0;
    border-top: 1px solid #efefef; }
    .cart-subtotal p {
      font-weight: 700; }
  .cart-checkout {
    padding: 0 60px; }
  .cart-upsell {
    padding: 0px 0 20px;
    font-size: 0; }
  .cart-upsellArrow {
    width: 30px;
    height: 30px;
    padding: 15px;
    background: transparent;
    background-image: url(../assets/arrow-right.svg);
    background-size: 10px 15px;
    background-repeat: no-repeat;
    background-position: center center;
    border: 2px solid #e8e7f1;
    border-radius: 50%;
    box-shadow: none;
    outline: none;
    cursor: pointer;
    position: absolute;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    background-position-x: 56%;
    background-position-y: 48%; }
    .cart-upsellArrow--prev {
      left: 60px;
      transform: rotate(180deg); }
    .cart-upsellArrow--next {
      right: 60px; }
    .cart-upsellArrow:hover {
      opacity: 0.5; }
    @media (max-width: 768px) {
      .cart-upsellArrow {
        display: none; } }
  .cart-upsellItem {
    height: 157px;
    border: 1px solid #e8e7f1; }
    .cart-upsellItem:last-of-type {
      margin-right: 0; }
  .cart-upsellItemContainer {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start; }
  .cart-upsellItemImage {
    width: 172px;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover'; }
  .cart-upsellItemInfo {
    padding: 10px 15px;
    font-size: 12px;
    line-height: 1.33;
    flex-grow: 1; }
  .cart-upsellItemTitle, .cart-upsellItemPrice {
    color: #3c3660;
    font-size: 14px;
    font-weight: 500;
    white-space: normal; }
  .cart-upsellItemPrice, .cart-upsellItemDesc {
    margin-bottom: 10px;
    white-space: normal; }
  .cart-upsellItemAdd {
    border: none;
    background: none;
    text-align: left;
    padding: 0;
    width: 100%;
    height: 100%;
    cursor: pointer; }
  @media (max-width: 480px) {
    .cart-container {
      width: 100%;
      padding-bottom: 0;
      min-width: unset; }
    .cart-overlay {
      display: none; }
    .cart-header, .cart-body, .cart-footer {
      padding: 15px; }
    .cart-title {
      font-size: 14px; }
    .cart-checkout {
      padding: 15px 25px 25px 25px;
      border-top: 1px solid #efefef;
      order: 1; }
    .cart-upsell {
      padding: 0;
      margin-bottom: 15px; }
    .cart-upsellItems {
      padding: 0 15px 15px;
      scroll-padding: 0 15px; }
    .cart-upsellItem {
      width: 80%;
      height: 100px;
      margin-right: 15px; }
    .cart-upsellItemDesc {
      display: none; }
    .cart-upsellItemImage {
      width: 100px; } }
  @media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
    .cart-container {
      padding-bottom: 30px; } }

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box; }

.glide * {
  box-sizing: inherit; }

.glide__track {
  overflow: hidden; }

.glide__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
  touch-action: pan-Y;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: nowrap;
  will-change: transform; }

.glide__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.glide__slide {
  width: 349px;
  flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent; }

.glide__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none; }

.glide__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 0 60px; }

.glide__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: flex;
  justify-content: center;
  margin-top: 20px; }

.glide__bullet {
  background-color: #e8e7f1;
  display: inline-flex;
  width: 2px;
  height: 2px;
  border: none;
  border-radius: 50%;
  margin: 5px 12px;
  padding: 4px;
  cursor: pointer; }
  .glide__bullet--active {
    background-color: #8a28ca; }

.glide--rtl {
  direction: rtl; }

.homeHero {
  width: 100%;
  height: calc(100vh - 125px);
  margin: 0 auto 75px;
  position: relative; }
  .homeHero .container {
    height: 100%;
    position: relative; }
  .homeHero-image {
    z-index: 99;
    height: 100%;
    width: 66%;
    position: absolute;
    top: 0;
    right: 0;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;'; }
  .homeHero-info {
    z-index: 100;
    width: 50%;
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translateY(-50%); }
  .homeHero-title {
    margin-bottom: 50px;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
  }
  @media (max-width: 768px) {
    .homeHero {
      height: 60vh; } }
  @media (max-width: 480px) {
    .homeHero {
      height: auto;
      margin-bottom: 55px;
      display: flex;
      flex-flow: column-reverse nowrap;
      align-items: stretch;
      justify-content: flex-start; }
      .homeHero-image {
        width: 100%;
        height: 215px;
        position: relative;
        top: unset;
        right: unset; }
      .homeHero-info {
        width: 100%;
        padding: 20px 0;
        position: relative;
        top: unset;
        left: unset;
        transform: none; }
      .homeHero-title {
        margin-bottom: 25px; 
        text-shadow: unset;
      } }

.textImage {
  margin: 100px 0; }
  .textImage-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
    .textImage-container--flipped {
      flex-flow: row-reverse nowrap; }
  .textImage-info, .textImage-image {
    width: calc((100% - 35px) / 2); }
  .textImage-text {
    margin-bottom: 40px; }
  @media (max-width: 480px) {
    .textImage {
      margin: 50px 0; }
      .textImage-container {
        width: calc(100% + 30px);
        margin: 0 -15px;
        flex-flow: column nowrap; }
      .textImage-info, .textImage-image {
        width: 100%; }
      .textImage-info {
        padding: 0 15px;
        margin-bottom: 30px; }
      .textImage-image {
        height: 175px;
        -o-object-fit: cover;
           object-fit: cover;
        font-family: 'object-fit: cover;'; }
      .textImage-title {
        margin-bottom: 0; }
      .textImage-text {
        margin-bottom: 15px; } }

.socialProof {
  padding: 80px 0;
  background: #fcfcfc;
  text-align: center; }
  .socialProof-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center; }
  .socialProof-title {
    margin-bottom: 35px; }
  .socialProof-logo {
    width: 155px;
    height: 155px;
    padding: 25px;
    margin: 0 5px;
    background: #fff;
    border: 2px solid #efefef;
    display: flex;
    align-items: center;
    justify-content: center; }
    .socialProof-logo img {
      width: 100%;
      filter: grayscale(100%);
      opacity: 0.25;
      transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .socialProof-logo:hover img {
      filter: grayscale(0%);
      opacity: 1; }
  @media (max-width: 480px) {
    .socialProof {
      padding: 35px 20px 50px; }
      .socialProof-title {
        margin-bottom: 15px; }
      .socialProof-container {
        flex-flow: row wrap;
        justify-content: space-between; }
      .socialProof-logo {
        width: calc((100% - 10px) / 2);
        margin: 10px 0 0 0; }
        .socialProof-logo:nth-child(-n+2) {
          margin-top: 0; } }

.featProd {
  text-align: center; }
  .featProd-title {
    margin-bottom: 30px;
    text-align: left; }
  .featProd-wrapper {
    position: relative; }
  .featProd-container {
    width: 100%;
    padding-bottom: 35px;
    margin-bottom: 35px;
    font-size: 0;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding: 0 15px;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    scrollbar-width: 3px;
    scrollbar-color: #3c3660 #e8e7f1; }
    .featProd-container::-webkit-scrollbar {
      width: 8px;
      height: 8px; }
    .featProd-container::-webkit-scrollbar-thumb {
      background: #3c3660;
      border-radius: 0; }
    .featProd-container::-webkit-scrollbar-track {
      background: #e8e7f1;
      border-radius: 0; }
    .featProd-container .prodCard {
      position: relative;
      width: calc((90% - 60px) / 3);
      margin-right: 30px;
      scroll-snap-align: start; }
      .featProd-container .prodCard:last-of-type {
        margin-right: 0; }

    .upsell-container .featProd-container .prodCard {
      position: relative;
      width: calc((100% - 60px) / 4);
      margin-right: 30px;
      scroll-snap-align: start; }
  
  .featProd-arrow {
    width: 30px;
    height: 100%;
    padding: 0;
    background: transparent;
    background-image: url(../assets/arrow-right.svg);
    background-size: 10px 15px;
    background-repeat: no-repeat;
    background-position: center center;
    border: none;
    box-shadow: none;
    outline: none;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .featProd-arrow--prev {
      left: -45px;
      transform: rotate(180deg); }
    .featProd-arrow--next {
      right: -45px; }
    .featProd-arrow--visible {
      opacity: 1;
      pointer-events: auto; }
    .featProd-arrow:hover {
      opacity: 0.5; }
    @media (max-width: 768px) {
      .featProd-arrow {
        display: none; } }
  .featProd-cta {
    margin: 0 auto; }

  @media(max-width: 768px){
    .featProd-container .prodCard {
      width: calc((100% - 60px) / 2);
    }

    .upsell-container .featProd-container .prodCard {
      position: relative;
      width: calc((100% - 60px) / 2);
      margin-right: 30px;
      scroll-snap-align: start; }
   }

  @media (max-width: 480px) {
    .container.upsell-container{
      max-width: 384px;
    }
    .featProd {
      margin: 20px 0;
      text-align: left; }
      .featProd-title {
        margin-bottom: 15px; }
      .featProd-container {
        /*width: calc(100% + 30px);
        padding: 0 15px 30px;
        margin: 0 -15px 30px;*/
        width: auto;
        margin: 0 -15px;
        display:flex;
      }
        .featProd-container .prodCard {
          /*width: calc(100% - 80px);
          margin-right: 15px;*/
          flex: 0 0 calc(45% - 6px);
          margin-right: 12px;
        } 
   .subscriptions .featProd-container .prodCard {
        width: calc(100% - 100px);
     }
    .prodCard-info {
      padding: 0 12px;
    }
    .featProd-container .pill {
      font-size: 9px
    }
    .prodCard-title {
      white-space: wrap;
    }
  }

.delivery {
  margin: 150px 0; }
  .delivery .container {
    display: grid;
    grid-gap: 30px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto 1fr; }
  .delivery .postal-code-checker {
    grid-column: 1 / span 1;
    grid-row: 3 / span 1; }
  .delivery-title {
    grid-column: 1 / span 1;
    grid-row: 1 / span 1; }
  .delivery .pill--purple {
    background: #8a28ca;
    color: #fff;
    border-color: #8a28ca; }
  .delivery .pill--grey {
    background: #e8e7f1;
    border-color: #e8e7f1; }
  .delivery-options {
    grid-column: 1 / span 1;
    grid-row: 2 / span 1; }
  .delivery-optionSmallPrint p {
    font-size: 12px;
    line-height: 1.8; }
    .delivery-optionSmallPrint p a {
      font-weight: bold; }
  .delivery-optionOptions {
    margin-top: 20px; }
  .delivery-optionOption {
    margin-bottom: 12px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
    .delivery-optionOption p:not(.pill) {
      display: inline-block;
      color: #3c3660;
      font-size: 14px;
      line-height: 1.7; }
      .delivery-optionOption p:not(.pill) + p {
        margin-left: 10px; }
    .delivery-optionOption:last-of-type {
      margin-bottom: 0; }
  .delivery-icon {
    display: inline-block;
    width: 37px;
    height: 20px;
    margin: 0 10px; }
  .delivery-maps {
    grid-column: 1 / -1;
    grid-row: 2 / span 2;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: -1; }
  .delivery-map {
    margin-top: 130px;
    margin-right: -30px;
    margin-left: auto;
    width: calc(100% - 200px);
    margin-right: -30px; }
  @media (max-width: 768px) {
    .delivery {
      margin: 50px 0; }
      .delivery .container {
        grid-template-columns: 1fr; }
      .delivery-title {
        font-size: 21px; }
      .delivery-maps {
        grid-row: 4 / span 1; }
      .delivery-map {
        margin: 0;
        width: 100%; }
      .delivery-option {
        width: 100%;
        margin-bottom: 20px; } }
  @media (max-width: 480px) {
    .delivery-options {
      flex-flow: column nowrap; }
    .delivery-map--mobile {
      display: block;
      width: 100%;
      margin-bottom: 30px; }
      .delivery-map--mobile:last-of-type {
        width: 80%;
        margin: 0 auto; } }


.collHeader,
.pageHeader {
  height: 30vh;
  min-height: 315px;
  background: #e8e7f1;
  position: relative; 
}
  .collHeader .container,
  .pageHeader .container {
     height: 100%;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
  }
  .collHeader-info,
  .pageHeader-info {
    width: 50%;
    padding: 0 100px;
    text-align: center; 
  }
    @media (max-width: 768px) {
      .collHeader .container,
  .pageHeader .container  {
        padding: 0;
      },
      .collHeader-info,
      .pageHeader-info {
        display: none;
        padding: 0; 
      } }
  .collHeader-title,
  .pageHeader-title {
    margin-bottom: 25px; }
  .collHeader-text {
    margin-bottom: 30px;
  }
  .collHeader-text,
  .pageHeader-text {
    color: #3c3660; }
  .collHeader-image,
  .pageHeader-image {
    width: 50%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    position: absolute;
    top: 0;
    left: 50%;
  }
  .collHeader-image.desktop-header,.pageHeader-image.desktop-header {
    display: block;
  }
  .collHeader-image.mobile-header,.pageHeader-image.mobile-header {
    display: none;
  }
  @media (max-width: 480px) {
  .collHeader-image.desktop-header,.pageHeader-image.desktop-header {
    display: none;
  }
  .collHeader-image.mobile-header,.pageHeader-image.mobile-header {
    display: block;
  }
    .collHeader,
    .pageHeader {
      height: auto;
      min-height: unset; }
      .collHeader .container,
      .pageHeader .container {
        flex-flow: column nowrap; }
      .collHeader-info, .pageHeader-info {
        display: none;
        flex-grow: unset;
      },
      .collHeader-info,
      .pageHeader-info {
        width: 100%;
        padding: 50px 20px; }
      .collHeader-title,
      .pageHeader-title {
        margin-bottom: 10px; }
      .collHeader-image,
      .pageHeader-image {
        width: 100%;
        height: 189px;
        position: relative;
        top: unset;
        left: unset; 
        max-width: 100%;
      
      } 
  }

.pageHeader-info {
  text-align: left; }

.pageHeader-title {
  margin-bottom: 0; }

@media (max-width: 480px) {
  .pageHeader-info {
    text-align: center; } }

.collectionsNav {
  position: -webkit-sticky;
  position: sticky;
  top: 126.76px;
  z-index: 10;
  background: #fff;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none; }
  .collectionsNav ::-webkit-scrollbar {
    width: 0;
    height: 0; }
  .collectionsNav__border {
    border-bottom: 1px solid #efefef; }
  .collectionsNav-text {
    display: inline-block;
    color: #7f7f7f; }
  .collectionsNav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
  .collectionsNav-listItem:hover > .collectionsNav-dropdown,
  .collectionsNav-listItem:focus-within > .collectionsNav-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: none; }
  .collectionsNav-selected {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4; }
    .collectionsNav-selected::after {
      content: '';
      display: inline-block;
      width: 10px;
      height: 7px;
      margin-left: 10px;
      background-image: url(../assets/arrow-down.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      vertical-align: middle; }
  .collectionsNav-dropdown {
    display: flex; }
    .collectionsNav-dropdown li + li {
      margin-left: 38px; }
    @media (max-width: 480px) {
      .collectionsNav-dropdown {
        justify-content: space-between; }
        .collectionsNav-dropdown li + li {
          margin-left: 30px; } }
  .collectionsNav-dropdownItem {
    background: #fff;
    text-align: left;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    /*border-bottom: 2px solid #efefef;*/
    }
    .collectionsNav-dropdownItem > a {
      display: block;
      padding: 12px 0px 16px;
      font-size: 14px;
      font-weight: 700;
      outline: none;
      white-space: nowrap; }
    .collectionsNav-dropdownItem.active {
      border-bottom-color: #8a28ca;
      color: #8a28ca; }
      .collectionsNav-dropdownItem.active > a {
        color: inherit; }
  @media (max-width: 768px) {
    .collectionsNav {
      top: 98px; } }
  @media (max-width: 480px) {
    .collectionsNav {
      margin: 0 0 40px 0;
      top: 90px; } }

.collection {
  margin-bottom: 50px;
  outline: none; }
  .collection:last-of-type {
    margin-bottom: 0; }
  .collection-title {
    margin-bottom: 15px; }
  .collection-text {
    margin-bottom: 35px;
    font-size: 18px;
    font-weight: 500;
    color: #7f7f7f; }
    .collection-text * {
      width: 100%;
      color: #7f7f7f !important;
      font-family: "Quicksand", sans-serif !important;
      font-size: 18px !important; }
  .collection-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px; }
    .collection-products .prodCard {
      position: relative; }
  @media (max-width: 768px) {
    .collection-products {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 30px 12px; } }
  @media (max-width: 480px) {
    .collection-title {
      margin-bottom: 0; 
      padding: 8px 0;
    }
    .collection-text {
      margin-bottom: 15px;
      font-weight: 14;
      line-height: 1.5;
      font-size: 12px;
    }
    .collection-products {
      margin: 0 -15px;
      flex-flow: column nowrap; }
      .collection-products .prodCard-info {
        padding: 0 12px; }
      .collection-products .prodCard-status {
        position: static;
        border: none;
        padding: 0;
        display: inline-flex;
        flex-wrap: wrap; }
        .collection-products .prodCard-status span:first-child {
          margin-right: 3px; } }

.prodCard {
  display: inline-block;
  text-align: left; }
  .prodCard-cartContainer.upsell {
    display: flex;
    justify-content: space-bewteen;
  }

  .prodCard-imageContainer {
    width: 100%;
    padding-top: 122%;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden; }
  .prodCard-image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .prodCard-image:nth-of-type(2) {
      opacity: 0; }
  .prodCard-status {
    border-color: rgba(60, 54, 96, 0.4);
    position: absolute;
    top: 20px;
    left: 20px; }
  .prodCard-cartContainer {
    padding-top: 20px;
    background: #fff;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    cursor: default;
    transition: 0.25s transform cubic-bezier(0.645, 0.045, 0.355, 1); }
  .prodCard-cart {
    outline: none;
    cursor: pointer; }
    .prodCard-cart--mobile {
      display: none; }
  .prodCard-title {
    line-height: 1.2;
    margin: 0.5em 0; }
  .prodCard-title, .prodCard-price {
    font-size: 14px;
    font-weight: 400;
    color: #3c3660; }
  .prodCard-price {
    line-height: 2;
    font-weight: 700;
    line-height: 1; }
    .prodCard-price--sale {
      color: #8a28ca; }
    .prodCard-price--old {
      color: #3c3660;
      text-decoration: line-through; }
  @media (max-width: 992px) {
    .prodCard-title, .prodCard-price {
      font-size: 12px; }
  }
  @media (max-width: 480px) {
    .prodCard-imageContainer {
      margin-bottom: 5px; }
    .prodCard-cartContainer, .prodCard-cartContainer.upsell {
      display: none; }
    .prodCard-cart--mobile {
      display: block;
      padding: 8px 15px;
      margin-top: 10px; }
    .prodCard-title, .prodCard-price {
      font-size: 12px; }
    .prodCard-status {
      top: 10px;
      left: 10px; } }
  @media (min-width: 768px) {
    .prodCard:hover .prodCard-cartContainer {
    transform: translateY(-100%); }
   .prodCard:hover .prodCard-image:nth-of-type(2) {
    opacity: 1; }
  }

.postal-code-checker .h5 {
  margin-bottom: 10px;
  font-weight: bold; }

.postal-code-checker__wrapper {
  width: 100%;
  max-width: 400px; }

.postal-code-checker-errorText, .postal-code-checker-successText {
  margin: 10px 0;
  padding: 10px;
  text-align: center;
  border-width: 2px;
  border-style: solid;
  font-size: 12px;
  font-weight: bold; }

.postal-code-checker-errorText {
  border-color: #901317;
  background: #faf3f3;
  color: #901317; }

.postal-code-checker-successText {
  border-color: #085a0a;
  background: #f1f8f3;
  color: #085a0a; }

.postal-code-checker p > button {
  display: inline-block;
  border: none;
  background: none;
  padding: 0; }

.postal-code-checker-start a, .postal-code-checker-start button {
  color: #8a28ca; }

.input-wrapper--inline {
  position: relative;
  margin-top: 30px;
  display: grid;
  grid-template-columns: auto -webkit-max-content;
  grid-template-columns: auto max-content; }
  .input-wrapper--inline input {
    border-width: 2px !important;
    border-color: #3c3660 !important; }
  .input-wrapper--inline .button {
    padding: 15px; }

.input-wrapper--postal input {
  padding-left: 34px !important; }

.input-wrapper--postal:before {
  content: "";
  position: absolute;
  left: 12px;
  top: 17px;
  background-image: url("../assets/location.svg");
  width: 20px;
  height: 20px;
  display: block;
  background-size: contain; }

@media (max-width: 480px) {
  .input-wrapper--postal input, .input-wrapper--postal button {
    font-size: 12px !important; } }

.postal-cta {
  padding: 0;
  color: #3c3660;
  display: flex;
  border: none;
  background: none;
  font-size: 14px;
  align-items: center;
  font-weight: bold;
  text-align: left; }
  .postal-cta img {
    margin-right: 4px;
    height: 19px; }
  @media (max-width: 768px) {
    .postal-cta--desktop {
      display: none; } }
  .postal-cta--mobile {
    margin-bottom: 30px;
    display: none; }
    @media (max-width: 768px) {
      .postal-cta--mobile {
        display: flex; } }

.upsellCard {
  width: 100%; }
  .upsellCard-imageContainer {
    width: 100%;
    padding-top: 90%;
    margin-bottom: 5px;
    position: relative; }
  .upsellCard-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 0;
    left: 0; }
  .upsellCard-title {
    margin: 0;
    color: #3c3660;
    font-size: 14px;
    font-weight: 500;
    white-space: normal; }
  .upsellCard-price {
    margin: 0 0 10px 0;
    color: #3c3660;
    font-size: 14px;
    font-weight: 500; }
    .upsellCard-price--sale {
      color: #8a28ca; }
    .upsellCard-price--old {
      color: #3c3660;
      text-decoration: line-through; }

.zipwhipIcon {
  display: inline-block;
  background: #8a28ca;
  font-size: 0;
  position: fixed;
  bottom: 15px;
  right: 15px; }

.blogs {
  margin: 50px auto 100px; }
  @media (max-width: 480px) {
    .blogs {
      margin: 40px 0 60px; } }

.bull {
  margin: 5px; }

.blog {
  margin-bottom: 50px;
  outline: none; }
  .blog:last-of-type {
    margin-bottom: 0; }
  .blog-title {
    margin-bottom: 15px; }
  .blog-text {
    margin-bottom: 35px;
    font-size: 18px;
    font-weight: 500;
    color: #7f7f7f; }
    .blog-text * {
      width: 100%;
      color: #7f7f7f !important;
      font-family: "Quicksand", sans-serif !important;
      font-size: 18px !important; }
  .blog-posts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px; }
    .blog-posts .blogCard {
      position: relative; }
    .blog-posts .blogCard-author,
    .blog-posts .blogCard-date {
      font-size: 12px; }
  .blog-actions {
    list-style-type: none; }
  @media (max-width: 768px) {
    .blog-posts {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 30px 12px; } }
  @media (max-width: 480px) {
    .blog-title {
      margin-bottom: 10px; }
    .blog-text {
      margin-bottom: 15px;
      font-weight: 14;
      line-height: 1.5; }
    .blog-posts {
      margin: 0 -15px;
      flex-flow: column nowrap; }
      .blog-posts .blogCard-info {
        padding: 0 12px; }
      .blog-posts .blogCard-status {
        position: static;
        border: none;
        padding: 0;
        display: inline-flex;
        flex-wrap: wrap;
        gap: 5px; } }

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; }
  .modal.active {
    display: block; }
  .modal__overlay {
    background: rgba(0, 0, 0, 0.49);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
  .modal__container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    background: #fff;
    border: 2px solid #E8E7F1;
    width: 90%;
    max-width: 720px;
    min-height: 500px;
    padding: 30px; }
    @media (max-width: 480px) {
      .modal__container {
        padding: 20px; } }
  .modal__close {
    height: 44px;
    width: 44px;
    background-color: #FFFFFF;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.07);
    line-height: 1;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: -22px;
    top: -22px; }
    .modal__close svg {
      width: 10px;
      height: 10px; }
  .modal__inner-wrapper {
    width: 100%;
    max-width: 420px;
    margin: 0 auto; }
    .modal__inner-wrapper h3 {
      margin-bottom: 14px; }
  .modal__logo {
    position: absolute;
    top: 30px;
    left: 30px; }
  .modal__step {
    width: 100%; }

.subscriptions {
  text-align: center; }
  .subscriptions__instructions p {
    font-size: 18px;
    font-weight: 500;
    color: #7f7f7f;
  }
  .subscriptions__section {
    border-bottom: 1px solid #efefef;
    padding: 40px 0; }
  .subscriptions h2 {
    margin-bottom: 30px; }
  .subscriptions .button input {
    display: none; }
  .subscriptions .button label {
    cursor: pointer;
    padding: 15px 0px; }
  .subscriptions__step-title p {
    color: #3c3660;
    font-size: 0.65em;
    font-weight: bold; }
  .subscriptions .step {
    filter: grayscale(0.6);
    opacity: 0.6; }
    .subscriptions .step.enabled {
      filter: grayscale(0);
      opacity: 1; }
  .subscriptions .step-3__sub, .subscriptions .step-4__sub, .subscriptions .step-5__sub {
    margin-top: 25px; }
  .subscriptions .featProd-container {
    margin-bottom: 0;
    padding-bottom: 0; }
    .subscriptions .featProd-container .prodCard {
      border: 4px solid transparent;
      margin-right: 0;
      margin-bottom: 20px; }
    .subscriptions .featProd-container .prodCard.active {
      border-color: #3c3660; }
  .subscriptions .form-checkboxes fieldset {
    margin: 5px;
    min-width: 273px; }

.mobile-line-break {
  display: none;
}

#filter-container {
  display: flex;
  justify-content: space-between;  
}

.collectionsNav.mobile {
  display: none;
  margin: 0;
}

 #no-results-mobile {
   display: none;
   color: red;
  }

@media (max-width: 768px) {
  #no-results-mobile {
    display: block;
  }
  .collectionsNav.mobile {
    display: block;
  }
  .collectionsNav.desktop {
    display: none;
  }
  .mobile-line-break {
    display: block;
  }

  #filter-close {
    display: none;
  }

  #filter-container {
    flex-direction: column;
  }

  #filter-container > div {
    margin-bottom: 1.5em;
  }

  #filter-container > div:last-child {
    margin-bottom: unset;
  }
}

.phone-input-not-filled {
  border-top: 1px solid rgb(232, 231, 241) !important;
  border-bottom: 1px solid rgb(232, 231, 241) !important;
  border-left: 1px solid rgb(232, 231, 241) !important;
}

.phone-input-filled {
  border-top: 1px solid #3c3660 !important;
  border-bottom: 1px solid #3c3660 !important;
  border-left: 1px solid #3c3660 !important;
}

.color-box {
  width: 35px;
  height: 35px;
  background: #FFF;
}

.color-box.highlight {
  border: 2px solid #8a28ca;
  padding: 3px;
}

.option-selected {
  color: #8a28ca;
}

.option-selected-mobile {
  color: #8a28ca;
  font-weight: 700;
}

.break {
  flex-basis: 100%;
  width: 0;
}

.add-arrow::after {
  content: '';
  display: block;
  width: 12px;
  height: 8px;
  background-image: url(../assets/arrow-down.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: -15px;
}

.filter-sortOpen {
  overflow: hidden; }

.filter-sort {
  position: fixed;
  width: 100%;
  height: 100%;
  transform: translate(100%);
  transition: transform 0.01s 0.3s;
  z-index: 999;
  top: 0
 }
  .filter-sortOpen .filter-sort {
    opacity: 1;
    transform: none;
    transition: none; }
  .filter-sort-overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .filter-sortOpen .filter-sort-overlay {
      width: 100%;
      opacity: 1; }
  .filter-sort-container {
    width: 40%;
    min-width: 560px;
    height: 100%;
    padding-bottom: 40px;
    background: #fff;
    border-left: 1px solid #efefef;
    position: absolute;
    top: 0;
    left: 100%;
    display: flex;
    flex-flow: column;
    transform: none;
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .filter-sortOpen .filter-sort-container {
       transform: translate(-100%); }
  .filter-sort-header {
    padding: 50px 60px;
    border-bottom: 1px solid #efefef;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; }
  .filter-sort-close {
    padding: 0;
    background: none;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer; }
  .filter-sort-body {
    height: 100%;
    padding: 30px 60px;
    overflow-y: scroll; }

  .filter-sort-footer {
    padding: 20px 60px;
    border-top: 1px solid #efefef;
    flex-shrink: 0; }
  .filter-sort-buttons {
    padding: 0 60px; }
  @media (max-width: 768px) {
    .filter-sort-container {
      width: 90%;
      padding-bottom: 0;
      min-width: unset; }
    .filter-sort-header, .filter-sort-body, .filter-sort-footer {
      padding: 15px; }
    .filter-sort-title {
      font-size: 14px; }
    .filter-sort-buttons {
      padding: 15px;
      border-top: 1px solid #efefef;
      order: 1; }
 }

  span.arrow-down {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url(../assets/arrow-down.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: transform .2s cubic-bezier(.645,.045,.355,1);
  }

  .fc.pdp-sticky {
   margin-bottom: 0px;
   position: static;
  }

  .pdp-galleryThumbs.not-visible {
    display: none
  }


  .fc.pdp-galleryMain {
    display: flex;
    padding-top: unset;
  }

  .fc.pdp-galleryImage {
    position: static;
    opacity: 1;
 }

 .half {
    width: 50%;
    height: 50%;
    padding: 10px;
    padding-top:0;
 }

  @media (min-width: 769px) {

   .fc.pdp-galleryMain {
     display: flex;
     flex-direction: column;
   }
   .fc.pdp-sticky {
     margin-bottom: 20px;
     position: sticky;
     width: calc((100% - 35px)*0.43133)
   }

   .fc.pdp-scroll {
     width: calc((100% - 35px)*0.5686)
   }
    
   .fc.pdp-galleryMain {
     padding-top: 0;
   }
  .pdp-galleryImage.half {
    width: 100%;
    height: 100%;
    opacity: 1;
    position: static;
  }
  .pdp-galleryImage.bottom {
    margin-top: 15px;
  }
}

@media (max-width: 768px) {
  .pdp-galleryMain {
    display: flex;
    overflow-x: auto;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    padding-top: 0;
    scroll-snap-type: x mandatory;
  }

  .pdp-galleryMain img {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    width: auto;

  }

  .pdp-galleryMain::-webkit-scrollbar {
    display: none;
  }

  .pdp-galleryImage {
    position: static !important;
  }

  .pdp-galleryImage-show {
    opacity: 1 !important;
  }
}

@media (max-width: 480px) {
  .input-textarea--large {
    height: 250px;
  }
}

.hide-checkbox {
    visibility: hidden;
}

 .animated {
    animation-duration: 1s;
    animation-fill-mode: both;
 }

 @keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
  }

.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

  @keyframes tb-fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.nav-otherListItem.account-icon svg path {
  fill: #3c3660;
}

.nav-otherListItem.account-icon:hover svg path {
  fill: #8a28ca;
  transition: fill .3s cubic-bezier(.645,.045,.355,1);
}

.footer-desktop {
  display: none
}

.footer-mobile {
  display: block
}


@media (min-width: 768px) {
  .footer-desktop {
    display: block;
  }

  .footer-mobile {
    display: none;
  }
  .remove-bubble {
    display: none;
  }
}

.slider-upsell {
    width: 100%;
    padding-bottom: 5px;
    font-size: 0;
    display: inline-block;
    white-space: nowrap;
    overflow-y: hidden;
    -ms-scroll-snap-type: x proximity;
    scroll-snap-type: x proximity;
    scrollbar-width: 2px;
    scrollbar-color: #3c3660 #e8e7f1;
    display: flex;
}

.slider-upsell .upsellCard-content {
    justify-content: space-between;
    padding-top: 6px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 3px;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left;
    align-self: stretch;
}

.slider-upsell .upsellCard {
    width: calc((100% - 70px) / 3);
    margin-right: 11px;
    vertical-align: top;
    scroll-snap-align: start;
    border: 1px solid #e8e7f1;
    flex-shrink: 0;
}

.slider-upsell .upsellCard-add {
    cursor: pointer;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background: none;
    border: none;
    padding: 0;
}

.slider-upsell .upsellCard-title {
   font-size: 12px;
}

.upsellCard-title { 
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.slider-upsell .upsellCard-price {
    margin: 0;
    color: #3c3660;
    font-size: 12px;
    font-weight: 500;
}

.slider-upsell .link {
    padding: 0;
    color: #8a28ca;
    font-size: 10px;
    font-weight: 700;
    background: none;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    cursor: pointer;
}

.slide__bullets.glide__bullets {
    margin-top: 10px;
}

.glide--next {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 7px;
  height: 10px;
  margin: 0;
  background-image: url(../assets/arrow-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  border: none;
  opacity: 1;
  color: #8a28ca;
  font-weight: bold;
  transition: 0.2s all cubic-bezier(0.645, 0.045, 0.355, 1);
}

.glide--prev {
  transform: translate3d(-50%, -50%, 0) rotate(180deg);
}

.glide__arrows {
  display: none;
}

.pdp-price.spacing {
  padding-top: 30px;
}

@media (min-width: 768px) { 
  .glide__arrows {
    display: block;
  }

  .pdp-price.spacing {
    padding-top: 35px;
  }

  .odash table {
    font-size: 13px;
  }
}

.cflow-timeslot.gift-card-variant {
  width: calc(21% - 20px);
}

@media (max-width: 768px) { 
  .gift-cards.cflow-timeslots {
    flex-flow: row;
    justify-content: start;
    flex-wrap: wrap;
  }
  .cflow-timeslot.gift-card-variant {
    width: 18%;
  }
  .cflow-timeslot.gift-card-variant:last-of-type {
   margin-right: 0; }
    .no-results-filter {
    display: none;
  }

  .collectionsNav.desktop .container {
    padding-right: 0;
  }

  .mobile-nav-scroll-wrapper .arrow-down, .pills-scroll-wrapper .arrow-down-slider {
    display: none;
  }
}

.nav-dropdown-header {
  font-weight: 600 !important;
}
.nav-dropdownItem-sub a {
  font-weight: 400 !important;
}

.collectionsNav.desktop .input-wrapper--postal:hover .input-icon-wrapper #address_address {
  border: 1px solid #3c3660 !important;
}


@media (max-width: 768px) {
 .collectionsNav.desktop .underline a button {
   margin-left: -3px !important;
   padding-left: 4px;
 }
}
@media (min-width: 768px) { 
  .collectionsNav.desktop .underline a {
    position: relative;
    left: -2px;
  }

  /* Add new rule for when results-count has content */
  .underline:has(#results-count:not(:empty)):hover::after,
  .underline:has(#results-count:not(:empty)):focus::after {
    width: 100%;
  }
}


.filter-body {
  display: flex;
  align-items: center;
}

.filter-content {
  display: flex;
  align-items: center;
  position: relative;
}

.filter-content::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #8a28ca;
  position: absolute;
  bottom: -2px;
  left: 0;
  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.filter-content:hover::after,
.filter-content:focus::after {
  width: 65%;
}

/* Add new rule for when results-count has content */
.filter-content:has(#results-count:not(:empty)):hover::after,
.filter-content:has(#results-count:not(:empty)):focus::after {
  width: 100%;
}

.filter-body {
  padding-right: 5px;
}

@media (min-width: 768px) { 
  .filter-button {
    margin-left: 5px;
    padding-right: 5px;
  }
  .filter-body button {
    padding-right: 15px;
  }
  .filter-content {
     padding-right: 1px; 
  }
}

@media (max-width: 768px) { 
  .filter-body {
   padding-left: 3px;
  }
  .filter-body button {
    height: 22px !important;
    left: 3px;
    position: relative;
    padding: 0;
    position: relative;
    left: 2px;
  }
}

.check-icon {
  position: absolute;
  top: 50px;
  transform: translate3d(0, -50%, 0);
  width: 20px;
  height: 20px;
  fill: #085a0a;
  pointer-events: none;
}
/* Animate.css slideInLeft animation - extracted */
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, -50%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, -50%, 0);
  }
}

.slideInLeft {
  animation-name: slideInLeft;
}

/*# sourceMappingURL=layout.theme.css.map*/