:root {
  --semiCircleWidth: 500px;
  --semiCircleAnimTime: 0.5s;
}
#preloader {
  background: #000 url(../img/loader.gif) no-repeat center center;
  background-size: 15%;
  height: 100vh;
  width: 100%;
  position: fixed;

  z-index: 100;
}
.animation-wrapper {
  left: 2%;
  width: calc(var(--semiCircleWidth) * 2);
  height: var(--semiCircleWidth);
  display: flex;
  justify-content: space-between;
  position: relative;
}

.semiCircle {
  width: var(--semiCircleWidth);
  height: var(--semiCircleWidth);
  border-radius: 50%;
  transition: all var(--semiCircleAnimTime) cubic-bezier(0, 0, 0.85, 0.27),
    opacity 0.6s;
  transition-delay: 0.8s;
  overflow: hidden;
  position: relative;
  z-index: 3;
  opacity: 0;
}

.animation-wrapper.active .semiCircle {
  opacity: 1;
}

.semiCircle .inner {
  width: 52%;
  height: 100%;
  background: #ff4a5a;
  position: absolute;
  overflow: hidden;
}

.semiCircle.left {
  transform: translateX(-25%);
}

.semiCircle.right {
  transform: translateX(25%);
}

.semiCircle.left .inner {
  right: 0;
}

.animation-wrapper.active .semiCircle.left {
  transform: rotate(90deg) translateY(-50%);
}

.animation-wrapper.active .semiCircle.right {
  transform: rotate(-90deg) translateY(-50%);
}

/* rectangle (money) */

.rectangle-big {
  width: 50%;
  height: 52%;
  position: absolute;
  left: 25%;
  top: 20px;
  z-index: 5;
  overflow: unset;
}

.rectangle-big .rec-inner {
  position: absolute;
  width: 100%;
  height: 50%;
}

.rectangle-big .rec-inner img {
  height: 133%;
}

.rectangle-big .rec-inner.top img {
  height: 105%;
  transform: translateY(18px);
  padding-left: 11px;
}

.rectangle-big .rec-inner.top {
  width: 35%;
  border-radius: 20% 0 0 0;
  top: -39px;
  /* clip-path: polygon(0 0, 100% 0, 100% 100%, 0 30%); */
  /* background: #2E3038; */
  transform: translateY(95%);
  transition: transform 0.3s cubic-bezier(0, 0, 0.85, 0.27)
      var(--semiCircleAnimTime),
    opacity 0.1s linear calc(var(--semiCircleAnimTime) + 1.1s);
  transition-delay: calc(var(--semiCircleAnimTime) + 1s);
  opacity: 0;
  z-index: 5;
}

.rectangle-big .rec-inner.top.top-m-2 {
  width: 12%;
  left: 32%;
  z-index: 4;
  transition-delay: calc(var(--semiCircleAnimTime) + 1.2s);
}

.rectangle-big .rec-inner.top.top-m-2 img {
  padding: 0;
  height: 73%;
  position: absolute;
  bottom: 1px;
}

.rectangle-big .rec-inner.bot {
  width: 63%;
  bottom: 23px;
  /* clip-path: polygon(0 0, 100% 70%, 100% 100%, 0% 100%); */
  /* background: #D63D4D; */
  transform: translateY(95%);
  transition: all 0.2s cubic-bezier(0.95, 0.53, 0.33, 0.71);
  transition-delay: calc(var(--semiCircleAnimTime) + 0.9s);
  opacity: 0;
  z-index: 6;
}

.animation-wrapper.active .rectangle-big .rec-inner.top,
.animation-wrapper.active .rectangle-big .rec-inner.bot {
  transform: translateY(-3%);
  opacity: 1;
}

.rec-back {
  position: absolute;
  bottom: 33px;
  left: 20px;
  width: calc(62% - 20px);
  height: 55%;
  background: #f0898e;
  border-radius: 0 20px 0 0;
  z-index: 3;
  opacity: 0;
  transform: scale(0.6);
  transform-origin: bottom left;
}

.animation-wrapper.active .rec-back {
  opacity: 1;
  transform: scale(1);
  transition: transform 1.5s cubic-bezier(0, 0, 0.85, 0.27)
      var(--semiCircleAnimTime),
    opacity 0s linear calc(var(--semiCircleAnimTime) + 1.1s);
}

/* rectangle (money) */

/* cember - coins */

.cember-wrapper {
  position: absolute;
  top: 26%;
  left: 53%;
  width: 14%;
  /* height: 25%; */
  border-radius: 50%;
  /* border: calc(var(--semiCircleWidth) / 26) solid #ED585F; */
  /* clip-path: polygon(0 0, 100% 0, 100% 92%, 0 18%); */
  transform: rotate(-173deg);
  opacity: 0;
  z-index: 4;
}

.cember-wrapper svg {
  width: 100%;
  height: 100%;
}

.animation-wrapper.active .cember-wrapper {
  transition: transform 0.8s, opacity 0s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1.5s);
  transform: rotate(0);
  opacity: 1;
}

.coins {
  position: absolute;
  bottom: 22%;
  left: 64%;
}

.coins img {
  height: calc(2900px / 23);
  margin: 4px 0;
  opacity: 0;
}

.coins img.coin-1 {
  transform: translateX(42px) translateY(1px);
  transition: opacity 0.8s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1500ms);
}

.coins img.coin-2 {
  transform: translateX(-42px);
  transition: opacity 0.8s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1600ms);
}

.coins img.coin-3 {
  transform: translateX(-11px);
  transition: opacity 0.8s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1700ms);
}

.coins img.coin-4 {
  transform: translateX(5px);
  transition: opacity 0.8s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1800ms);
}

.coins img.coin-5 {
  transform: translateX(4px);
  transition: opacity 0.8s;
  transition-delay: calc(var(--semiCircleAnimTime) + 1900ms);
}

.animation-wrapper.active .coins img {
  opacity: 1;
}

/* cember - coins */

/* semi inner path */

.semiCircle.right .inner .tri {
  background: #f0898e;
  width: 132%;
  height: 48%;
  rotate: -90deg;
  position: absolute;
  transform: translateX(-45%) translateY(-32px);
  animation: inner-tri var(--semiCircleAnimTime) forwards;
  animation-delay: 1.2s;
  clip-path: polygon(50% 80%, 0% 100%, 100% 100%);
  z-index: 1;
}

.tri-left {
  width: 132%;
  height: 127%;
  rotate: -90deg;
  background: #ec595f;
  position: absolute;
  bottom: 0;
  transform: translateX(22%);
  animation: inner-tri-left var(--semiCircleAnimTime) forwards;
  animation-delay: 1.2s;
  clip-path: polygon(60% 0, 115% 0, 125% 100%, -83% -14%);
}

.tri-right {
  width: 131%;
  height: 114%;
  rotate: 96deg;
  background: #c64951;
  position: absolute;
  transform: translateX(22%);
  animation: inner-tri-right var(--semiCircleAnimTime) forwards;
  animation-delay: 1.2s;
  clip-path: polygon(170% 0, 100% 0, 100% 100%, -33% 100%);
}

@keyframes inner-tri {
  100% {
    clip-path: polygon(50% 37%, 0% 100%, 100% 100%);
  }
}

@keyframes inner-tri-left {
  100% {
    clip-path: polygon(60% 0, 115% 0, 92% 100%, -83% -14%);
  }
}

@keyframes inner-tri-right {
  100% {
    clip-path: polygon(119% 0, 100% 0, 100% 100%, -33% 100%);
  }
}

/* semi inner path */
