/* animated Success */
.checkmark__circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #0ac989;
  fill: none;
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: block;
  stroke-width: 2;
  stroke: #0ac989;
  stroke-miterlimit: 10;
  /* margin: 0% auto; */
  box-shadow: inset 0px 0px 0px #0ac989;
  animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}

.checkmark__check {
  transform-origin: 50% 50%;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes stroke {
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes scale {

  0%,
  100% {
    transform: none;
  }

  50% {
    transform: scale3d(1.1, 1.1, 1);
  }
}

@keyframes fill {
  100% {
    box-shadow: inset 0px 0px 0px 30px transparent;
  }
}

.checkmark_mini {
  width: 30px;
  height: 30px;
}

/* End Animated Success */


.xm-loader {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: #3d47cf #3d47cf transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

.xm-loader::after {
  content: '';
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent #2bd4ee #2bd4ee;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }

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

@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }

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


/* dual ring animation */
.lds-dual-ring {
  display: inline-block;
  width: fit-content;
  height: fit-content;
  padding: 10px;
  background: #1a1d25;
  border-radius: 8px;
}

.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 3px solid #3d47cf;
  border-color: #3d47cf transparent #2bd4ee transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }

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

.lds-dual-ring-grey:after {
  content: " ";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 3px solid #999eb2;
  border-color: #999eb2 transparent #999eb2 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}



.plot-loader {
  width: 48px;
  height: 48px;
  display: block;
  /* margin:0px auto; */
  position: relative;
  color: #FFF;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  /* background: red; */
}

.plot-loader::after,
.plot-loader::before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 50%;
  transform: scale(0.5) translate(0, 0);
  background-color: #1279ef;
  border-radius: 50%;
  animation: animloader 1s infinite ease-in-out;
}

.plot-loader::before {
  background-color: #0ead98;
  transform: scale(0.5) translate(-48px, -48px);
}

/* @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }  */
@keyframes animloader {
  50% {
    transform: scale(1) translate(-50%, -50%);
  }
}

/* text typing */
.tt-wrapper span.typed-text {
  color: #FFF;
}

.tt-wrapper span.cursor {
  display: inline-block;
  background-color: #fff;
  margin-left: 0.1rem;
  width: 3px;
  animation: blink 1s infinite;
}

.tt-wrapper span.cursor.typing {
  animation: none;
}

@keyframes blink {
  0% {
    background-color: #fff;
  }

  49% {
    background-color: #000;
  }

  50% {
    background-color: transparent;
  }

  99% {
    background-color: transparent;
  }

  100% {
    background-color: #000;
  }
}


/* ticker tape */
.marquee {
  overflow: hidden;
  width: 90%;
}

.lines {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.line {
  animation: marquee 15s linear infinite;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  white-space: nowrap;
}

/* .line:nth-child(2) {
  color: red;
} */
.line span {
  padding-right: 0.5em;
}

.line span:after {
  /* content: '|'; */
  margin-left: 0.5em;
}

@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }

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



/* LOADER LINES */
.loader {
  display: flex;
  align-items: center;
}

.bar {
  display: inline-block;
  width: 3px;
  height: 10px;
  background-color: #000;
  border-radius: 7px;
  animation: scale-up4 1.4s linear infinite;
}

.bar:nth-child(2) {
  height: 10px;
  margin: 0 5px;
  animation-delay: .25s;
}

.bar:nth-child(3) {
  animation-delay: .5s;
}

.bar:nth-child(4) {
  margin-left: 5px;
  animation-delay: .7s;
}

@keyframes scale-up4 {
  20% {
    /* background-color: #ffff; */
    height: 24px;
  }

  50% {
    height: 10px;
  }
}


/* ================================================= */
/* New */
/* ================== */
.rotate {
  animation: rotate-anim 2s linear infinite;
}
.rotate.slow{
  animation-duration: 30s;
}
@keyframes rotate-anim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}