@keyframes burger-hover {
  0% {
    width: 24px;
  }

  50% {
    width: 12px;
  }

  100% {
    width: 24px;
  }
}

@keyframes gear-clock-rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes plant-float {
  0% {
    bottom: 20.5%;
    left: 0%;
    transform: rotate(0deg);
  }

  20% {
    bottom: 30%;
    left: 20%;
  }

  30% {
    bottom: 40%;
    left: 40%;
  }

  40% {
    bottom: 50%;
    left: 60%;
  }

  50% {
    bottom: 60%;
    left: 80%;
  }

  60% {
    bottom: 50%;
    left: 100%;
  }

  70% {
    bottom: 40%;
    left: 80%;
  }

  80% {
    bottom: 30%;
    left: 60%;
  }

  90% {
    bottom: 20%;
    left: 30%;
  }

  100% {
    bottom: 20.5%;
    left: 0%;
    transform: rotate(360deg);
  }
}

@keyframes about-bubbles {
  0% {
    top: 5%;
  }

  50% {
    top: 15%;
  }

  100% {
    top: 5%;
  }
}

@keyframes about-triangle {
  0% {
    right: -12px;
  }

  50% {
    right: -15px;
    /* transform: rotate(360deg); */
  }

  100% {
    right: -12px;
  }
}

.fall-down {
  cursor: pointer;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.fall-down .char {
  color: rgba(var(--color-primary), 1);
}

.fall-down .char::before {
  content: atr(data-char);
  visibility: visible;
  color: rgba(var(--color-secondary), 1);
  transition: transform 0.5s cubic-bezier(0.14, 0.71, 0.96, 0.59);
  transition-delay: calc(0.1s * var(--char-percent));
  transform: none;
  transform-origin: bottom;
}

.fall-down:hover .char::before {
  transition-timing-function: cubic-bezier(1, 0.01, 0.56, 1);
}

.fall-down:hover .char:nth-child(odd)::before {
  transform: rotateX(90deg) scaleY(0);
}

.fall-down:hover .char:nth-child(even)::before {
  transform: rotateX(-90deg) scaleY(0);
}

@keyframes floating-bag {
  from {
    transform: translate(0, 0px);
  }

  65% {
    transform: translate(0, 15px);
  }

  to {
    transform: translate(0, -0px);
  }
}


.zip-it .char,
.split-it .char {
  color: rgba(var(--color-primary), 1);
}

.zip-it .char,
.zip-it .char:before,
.zip-it .char:after,
.split-it .char,
.split-it .char:before,
.split-it .char:after {
  transition: transform 0.8s cubic-bezier(0.75, 0, 0.25, 1);
  transition-delay: calc(0.2s * var(--distance-percent));
}

.zip-it .char:before,
.zip-it .char:after,
.split-it .char:before,
.split-it .char:after {
  visibility: visible;
  color: rgba(var(--color-secondary), 1);
}

.zip-it:hover .char:before,
.split-it:hover .char:before {
  transform: translateY(-45%) scaleY(0);
}

.zip-it:hover .char:after,
.split-it:hover .char:after {
  transform: translateY(45%) scaleY(0);
}

.zip-it .char,
.zip-it .char:before,
.zip-it .char:after {
  transition-delay: calc(0.5s * (1 - var(--char-percent)));
}

.zip-it:hover .char,
.zip-it:hover .char:before,
.zip-it:hover .char:after {
  transition-delay: calc(0.5s * var(--char-percent));
}

/* SECTION TITLE  PAGE 2*/
.title-text {
  position: relative;
}

.title-text .line {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  display: block;
  background-color: rgba(var(--color-secondary), 1);
  bottom: calc(50% - 1px);
  -webkit-animation: line 2000ms;
  animation: line 2000ms;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: left;
  transform: translateX(0) scaleX(0);
}

.title-text .char {
  display: inline-block;
  position: relative;
  -webkit-animation-duration: 2000ms;
  animation-duration: 2000ms;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-name: kern;
  animation-name: kern;
  -webkit-animation-delay: calc(var(--char-index) * 5ms);
  animation-delay: calc(var(--char-index) * 5ms);
  -webkit-animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
}

@-webkit-keyframes line {
  45% {
    transform: translateX(0) scaleX(0);
  }

  70% {
    transform: translateX(0) scaleX(0.8);
  }

  100% {
    transform: translateX(100%) scaleX(0);
  }
}

@keyframes line {
  45% {
    transform: translateX(0) scaleX(0);
  }

  70% {
    transform: translateX(0) scaleX(0.8);
  }

  100% {
    transform: translateX(100%) scaleX(0);
  }
}

@-webkit-keyframes kern {

  0%,
  70% {
    transform: translateX(calc((var(--char-index)) * 40px));
    opacity: 0;
  }

  80% {
    opacity: 1;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
    -webkit-animation-timing-function: none;
    animation-timing-function: none;
  }
}

@keyframes kern {

  0%,
  70% {
    transform: translateX(calc((var(--char-index)) * 40px));
    opacity: 0;
  }

  80% {
    opacity: 1;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
    -webkit-animation-timing-function: none;
    animation-timing-function: none;
  }
}

/* HOME2 SPACE-CADET-HOVER */
.space-cadet {
  transition: letter-spacing 350ms ease-out;
}

.space-cadet:hover {
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* HOME2PAGE BUTTONS */
.btn-hf {
  position: relative;
}

.aromatic-home2 .btn-hf:hover,
.aromatic-home2 .btn-hf:focus {
  color: rgba(var(--color-primary), 1);
  background-color: rgba(var(--color-primary), 0.1);
  box-shadow: none;
}

.btn-hf:before,
.btn-hf:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 2px;
  width: 0;
  background-color: rgba(var(--color-secondary), 1);
  transition: 400ms ease-in-out all;
}

.btn-hf:after {
  right: inherit;
  top: inherit;
  left: 0;
  bottom: 0;
}

.btn-hf:hover:before,
.btn-hf:hover:after,
.btn-hf:focus:before,
.btn-hf:focus:after {
  width: 100%;
  /* transition: 800ms ease-in-out all; */
}

/* WAVE BUTTON ON HOME3 */

.wave {
  box-shadow: 0 0 0 0 transparent;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.wave:hover,
.wave:focus {
  color: white;
  box-shadow: 0 0 30px 0 rgba(var(--color-primary), 0.5);
  background-color: rgba(var(--color-primary), 1);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.wave:hover:before,
.wave:focus:before {
  -webkit-animation: shine 0.5s 0s linear;
  -moz-animation: shine 0.5s 0s linear;
  animation: shine 0.5s 0s linear;
}

.wave:hover:after,
.wave:focus:after {
  -webkit-animation: shine 0.5s 0.2s linear;
  -moz-animation: shine 0.5s 0.2s linear;
  animation: shine 0.5s 0.2s linear;
}

.wave:active {
  box-shadow: 0 0 0 0 transparent;
  -webkit-transition: box-shadow 0.2s ease-in;
  -moz-transition: box-shadow 0.2s ease-in;
  transition: box-shadow 0.2s ease-in;
}

.wave:before,
.wave::after {
  content: "";
  display: block;
  width: 0px;
  height: 86%;
  position: absolute;
  top: 7%;
  left: 0%;
  opacity: 0;
  background: white;
  box-shadow: 0 0 15px 3px white;
  -webkit-transform: skewX(-20deg);
  -moz-transform: skewX(-20deg);
  -ms-transform: skewX(-20deg);
  -o-transform: skewX(-20deg);
  transform: skewX(-20deg);
}

.wave.w2:before,
.wave.w2::after {
  box-shadow: 0 0 15px 3px rgba(var(--color-primary), 1);
}

@-webkit-keyframes shine {
  from {
    opacity: 0;
    left: 0%;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
    left: 100%;
  }
}

@-moz-keyframes shine {
  from {
    opacity: 0;
    left: 0%;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
    left: 100%;
  }
}

@keyframes shine {
  from {
    opacity: 0;
    left: 0%;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
    left: 100%;
  }
}


@keyframes color-wave {
  0% {
    color: violet;
  }

  10% {
    color: indigo;
  }

  20% {
    color: blue;
  }

  30% {
    color: green;
  }

  40% {
    color: yellow;
  }

  50% {
    color: orange;
  }

  60% {
    color: red;
  }

  70% {
    color: rgb(32, 199, 46);
  }

  80% {
    color: rgb(52, 1, 235);
  }

  90% {
    color: rgb(70, 18, 61);
  }

  100% {
    color: rgb(241, 9, 79);
  }
}

/* RUN OUT */
.run-out {
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.run-out .word {
  pointer-events: auto;
}

.run-out .char {
  color: transparent;
}

.run-out .char:before,
.run-out .char:after {
  visibility: visible;
  color: rgba(var(--color-primary), 1);
  transition: transform 1.2s cubic-bezier(0.77, 0.02, 0.11, 0.97);
  transition-delay: calc(0.04s * var(--char-total) + (0.08s * var(--char-index)));
}

.run-out .char:before {
  transform: translateX(-100vw) rotate(-35deg);
  transition-delay: calc(0.04s * var(--char-index));
}

.run-out:hover .char:before {
  transform: translateX(0) rotate(0deg);
  transition-delay: calc(0.04s * var(--char-total) + (0.08s * (var(--char-total) - var(--char-index))));
}

.run-out:hover .char:after {
  transform: translateX(100vw) rotate(35deg);
  transition-delay: calc((0.04s * (var(--char-total) - var(--char-index))));
}

/* PULL OUT*/
.pull-in .char {
  transition: transform 0.5s cubic-bezier(0.8, 0, 0.2, 1);
  transition-delay: calc(0.2s * (1 - var(--distance-percent)));
}

.pull-in:hover .char {
  transition-delay: calc(0.2s * var(--distance-percent));
  transform: scale(1.1) translateX(calc(+0.3em * var(--distance-sine)));
}

/* JUMPING, SMOKE, DRIVE */
.button {
  --background: #275efe;
  --text: #fff;
  --font-size: 16px;
  --duration: 0.5s;
  --move-hover: -4px;
  --shadow: 0 2px 8px -1px rgba(39, 94, 254, 0.32);
  --shadow-hover: 0 4px 20px -2px rgba(39, 94, 254, 0.5);
  transition: box-shadow var(--duration) ease;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
}

.button div {
  display: flex;
}

.button div span {
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-style: normal;
}

.button div span:nth-child(1) {
  --d: 0.05s;
}

.button div span:nth-child(2) {
  --d: 0.1s;
}

.button div span:nth-child(3) {
  --d: 0.15s;
}

.button div span:nth-child(4) {
  --d: 0.2s;
}

.button div span:nth-child(5) {
  --d: 0.25s;
}

.button div span:nth-child(6) {
  --d: 0.3s;
}

.button div span:nth-child(7) {
  --d: 0.35s;
}

.button div span:nth-child(8) {
  --d: 0.4s;
}

.button div span:nth-child(9) {
  --d: 0.45s;
}

.button div span:nth-child(10) {
  --d: 0.5s;
}

.button div span:nth-child(11) {
  --d: 0.55s;
}

.button:hover {
  --y: var(--move-hover);
  --shadow: var(--shadow-hover);
  --move: -4px;
  --shadow-active: 0 3px 1px rgba(0, 0, 0, 0.2);
}

.button:hover span {
  -webkit-animation: move var(--duration) linear var(--d);
  animation: move var(--duration) linear var(--d);
}

.button.smoke {
  --move: 12px;
  --move-y: -8px;
  --blur: 4px;
}

.button.smoke:hover span {
  --duration: 1s;
  -webkit-animation: smoke var(--duration) linear var(--d);
  animation: smoke var(--duration) linear var(--d);
}

.button.drive {
  --move: 16px;
  --skew: 25deg;
  --skew-fast: 40deg;
  --skew-bounce: -12px;
}

.button.drive:hover span {
  --duration: 1s;
  transform-origin: 50% 100%;
  -webkit-animation: drive var(--duration) linear var(--d);
  animation: drive var(--duration) linear var(--d);
}

@-webkit-keyframes move {
  40% {
    transform: translateY(var(--move));
    text-shadow: var(--shadow-active);
  }
}

@keyframes move {
  40% {
    transform: translateY(var(--move));
    text-shadow: var(--shadow-active);
  }
}

@-webkit-keyframes smoke {

  45%,
  55% {
    filter: blur(var(--blur));
  }

  50%,
  50.1% {
    opacity: 0;
  }

  25%,
  75% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(var(--move)) translateY(var(--move-y));
  }

  50.1% {
    transform: translateX(calc(var(--move) * -1));
  }
}

@keyframes smoke {

  45%,
  55% {
    filter: blur(var(--blur));
  }

  50%,
  50.1% {
    opacity: 0;
  }

  25%,
  75% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(var(--move)) translateY(var(--move-y));
  }

  50.1% {
    transform: translateX(calc(var(--move) * -1));
  }
}

@-webkit-keyframes drive {
  40% {
    opacity: 1;
  }

  55% {
    transform: skewX(var(--skew)) translateX(var(--move));
  }

  56% {
    transform: skewX(var(--skew-fast)) translateX(calc(var(--move) * -1));
  }

  55%,
  56% {
    opacity: 0;
  }

  75% {
    transform: skewX(var(--skew));
  }

  85% {
    transform: skewX(var(--skew-bounce));
  }
}

@keyframes drive {
  40% {
    opacity: 1;
  }

  55% {
    transform: skewX(var(--skew)) translateX(var(--move));
  }

  56% {
    transform: skewX(var(--skew-fast)) translateX(calc(var(--move) * -1));
  }

  55%,
  56% {
    opacity: 0;
  }

  75% {
    transform: skewX(var(--skew));
  }

  85% {
    transform: skewX(var(--skew-bounce));
  }
}

/*  FAQ ANIMATIONS */

@-webkit-keyframes thinking {

  0%,
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
  }
}

@keyframes thinking {

  0%,
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
  }
}

@-webkit-keyframes qrleafflow {

  0%,
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
}

@keyframes qrleafflow {

  0%,
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
}

@-webkit-keyframes leafflows {

  0%,
  100% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  50% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
}

@keyframes leafflows {

  0%,
  100% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  50% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
}

@-webkit-keyframes leafrflow {

  0%,
  100% {
    -webkit-transform: rotate(-5deg) scale(-1, 1);
    transform: rotate(-5deg) scale(-1, 1);
  }

  50% {
    -webkit-transform: rotate(10deg) scale(-1, 1);
    transform: rotate(10deg) scale(-1, 1);
  }
}

@keyframes leafrflow {

  0%,
  100% {
    -webkit-transform: rotate(-5deg) scale(-1, 1);
    transform: rotate(-5deg) scale(-1, 1);
  }

  50% {
    -webkit-transform: rotate(10deg) scale(-1, 1);
    transform: rotate(10deg) scale(-1, 1);
  }
}

@-webkit-keyframes q1 {
  0% {
    bottom: 0;
    left: 0%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 100%;
    left: 100%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes q1 {
  0% {
    bottom: 0;
    left: 0%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 100%;
    left: 100%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes q2 {
  0% {
    bottom: 20%;
    left: 100%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 100%;
    left: 0%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes q2 {
  0% {
    bottom: 20%;
    left: 100%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 100%;
    left: 0%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes qxs {
  0% {
    bottom: 50%;
    left: 0%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 30%;
    left: 100%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes qxs {
  0% {
    bottom: 50%;
    left: 0%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 30%;
    left: 100%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes qb {
  0% {
    bottom: 100%;
    left: 50%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 0%;
    left: 30%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes qb {
  0% {
    bottom: 100%;
    left: 50%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    bottom: 0%;
    left: 30%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes qm {
  0% {
    bottom: 50%;
    left: 50%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    bottom: 0%;
    left: 80%;
  }

  100% {
    bottom: 50%;
    left: 30%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes qm {
  0% {
    bottom: 50%;
    left: 50%;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    bottom: 0%;
    left: 80%;
  }

  100% {
    bottom: 50%;
    left: 30%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*  END: FAQ ANIMATIONS */

/* FLOATING CART */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}

@keyframes ripples {
  to {
    box-shadow: 0 0 0 5px rgba(var(--color-primary), 0.2), 0 0 0 10px rgba(var(--color-primary), 0.2),
      0 0 0 15px rgba(var(--color-primary), 0.2), 0 0 0 20px rgba(var(--color-primary), 0.2);
    transform: scale(1);
  }
}

/* FLOATING CART */