/* =========================================
   Jelly Scroll To Top Button - Light Version
========================================= */

.jx-jelly-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1400;

  width: 74px;
  height: 74px;
  border: 0;
  padding: 0;
  cursor: pointer;
  background: transparent;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translate3d(0, 16px, 0) scale(.94);
  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility 0s linear .22s;

  -webkit-tap-highlight-color: transparent;
  will-change: auto;
}

.jx-jelly-top.jx-jelly-top--show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
  transition:
    opacity .18s ease,
    transform .22s ease,
    visibility 0s linear 0s;
}

.jx-jelly-top__body{
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  filter: none;
  animation: none;
  transform: translateZ(0);
  will-change: auto;
}

.jx-jelly-top__cap{
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 52px;
  height: 34px;
  border-radius: 30px 30px 22px 22px;

  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.86), rgba(255,255,255,.18) 34%, transparent 35%),
    linear-gradient(180deg, rgba(194,220,255,.95), rgba(143,185,245,.88) 54%, rgba(87,125,214,.95));

  border: 1px solid rgba(255,255,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 8px 18px rgba(65,105,225,.12);

  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.jx-jelly-top__cap::before{
  content:"";
  position:absolute;
  left: 8px;
  right: 8px;
  top: 5px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0));
  opacity:.82;
}

.jx-jelly-top__cap::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: -2px;
  transform: translateX(-50%);
  width: 32px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.10), transparent 72%);
}

.jx-jelly-top__face{
  position: absolute;
  top: 20px;
  left: 50%;
  width: 18px;
  height: 8px;
  transform: translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  z-index: 2;
}

.jx-jelly-top__face i{
  display:block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #0d1330;
  opacity: .66;
  box-shadow: none;
}

.jx-jelly-top__tentacles{
  position: absolute;
  left: 50%;
  top: 34px;
  width: 42px;
  height: 28px;
  transform: translateX(-50%);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}

.jx-jelly-top__tentacles b{
  display:block;
  width: 6px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(194,220,255,.88), rgba(143,185,245,.26));
  transform-origin: top center;
  animation: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
  will-change: auto;
}

.jx-jelly-top__tentacles b:nth-child(2){ height: 26px; }
.jx-jelly-top__tentacles b:nth-child(3){ height: 22px; }
.jx-jelly-top__tentacles b:nth-child(4){ height: 25px; }

.jx-jelly-top::before{
  content:"";
  position:absolute;
  inset: 6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143,185,245,.10), transparent 70%);
  transform: scale(.92);
  z-index: -1;
}

.jx-jelly-top::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: 5px;
  transform: translateX(-50%);
  width: 28px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(10,22,54,.10), transparent 72%);
  z-index: -2;
}

.jx-jelly-top:hover{
  transform: translate3d(0, 0, 0) scale(1);
}

.jx-jelly-top:hover .jx-jelly-top__body{
  animation: none;
  filter: none;
}

.jx-jelly-top:hover .jx-jelly-top__cap{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 8px 18px rgba(65,105,225,.12);
}

.jx-jelly-top:active{
  transform: translate3d(0, 0, 0) scale(.96);
}

@media (max-width: 768px){
  .jx-jelly-top{
    right: 12px;
    bottom: 14px;
    width: 66px;
    height: 66px;
  }

  .jx-jelly-top__cap{
    width: 46px;
    height: 30px;
  }

  .jx-jelly-top__tentacles{
    top: 31px;
    width: 37px;
    height: 22px;
  }

  .jx-jelly-top__tentacles b{
    width: 5px;
    height: 20px;
  }
}

@media (prefers-reduced-motion: reduce){
  .jx-jelly-top,
  .jx-jelly-top__body,
  .jx-jelly-top__tentacles b{
    animation: none !important;
    transition: none !important;
  }
}
