pussy-ts/src/containers/portal/pasport/styleBtnPasport.scss

$color-text: #36d6ae;

@mixin linear-gradient-danger($route) {
  background: linear-gradient($route, rgba(0, 0, 0, 0) 0%, rgb(255, 0, 0) 100%);
}

@mixin linear-gradient-blue($route) {
  background: linear-gradient(
    $route,
    rgba(0, 0, 0, 0) 0%,
    rgba(31, 203, 255, 1) 100%
  );
}

$time-animation: 0.5s;

@mixin ion-lamp {
  content: '';
  position: absolute;
  background: #ffffff;
  border: 1.5px solid #ffffff;
  box-sizing: border-box;
  top: 0;
  bottom: 0;
}

@mixin styleGradientPseudoEl {
  content: '';
  position: absolute;
  height: 100%;
  top: 0;
  bottom: 0;
  opacity: 15%;
  width: 100%;
}

.BtnPasport {
  // position: absolute;
  height: 50px;
  // top: 0;
  // bottom: 0;
  transform: translate(18px, 0px);
  // left: 100%;
  outline: none;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #fff;
  font-size: 18px;
  animation: openBtn $time-animation linear both;
  max-width: 50px;

  opacity: 1;

  &:hover {
    opacity: 0.8;
  }

  &Blue {
    &::after {
      @include ion-lamp;
      right: 0;
      // border-radius: 0px 2px 2px 0px;
      box-shadow: 3px 0 20px 1.5px rgba(31, 203, 255, 0.7);
      animation: blink 1s ease-in-out infinite;
      opacity: 1;
    }
  }

  &Red {
    &::after {
      @include ion-lamp;
      right: 0;
      // border-radius: 0px 2px 2px 0px;
      box-shadow: 3px 0 20px 1.5px rgba(255, 0, 0, 0.7);
      animation: blink 1s ease-in-out infinite;
      opacity: 1;
    }
  }
}

@keyframes blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@keyframes openBtn {
  0% {
    width: 0px;
  }

  100% {
    width: 100%;
  }
}

.GradientContainer {
  transform-style: preserve-3d;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  animation: padding $time-animation both linear;

  &Blue {
    &::after {
      @include styleGradientPseudoEl;
      @include linear-gradient-blue(90deg);
      right: 0px;
      animation: openGradient $time-animation both linear;
    }
  }

  &Danger {
    &::after {
      @include styleGradientPseudoEl;
      @include linear-gradient-danger(90deg);
      right: 0px;
      animation: openGradient $time-animation both linear;
    }
  }
}

@keyframes openGradient {
  0% {
    width: 0px;
  }

  100% {
    width: 50px;
  }
}

@keyframes padding {
  0% {
    padding: 0px;
    opacity: 0;
  }

  100% {
    padding: 0 10px;
    opacity: 1;
  }
}

Synonyms

cyb/src/containers/portal/pasport/styleBtnPasport.scss

Neighbours