$color-text: #36d6ae;
@mixin linear-gradient-green($route) {
background: linear-gradient(
$route,
rgba(0, 237, 235, 0) 0%,
rgba(0, 237, 235, 6) 100%
);
}
@mixin ion-lamp {
content: '';
position: absolute;
background: #ffffff;
border: 1.5px solid #ffffff;
box-sizing: border-box;
top: 0;
bottom: 0;
box-shadow: 0px 0px 4px 1px rgba(54, 214, 174, 0.5),
0px 0px 15px 1px rgba(54, 214, 174, 0.5);
}
@mixin styleGradientPseudoEl {
content: '';
position: absolute;
height: 100%;
width: 50px;
top: 0;
bottom: 0;
opacity: 20%;
}
@mixin animation-ion-lamp {
animation: blink 1s infinite;
animation-fill-mode: both;
animation-timing-function: ease-in-out;
opacity: 1;
}
.containerBtnGrd {
border: none;
outline: none;
background-color: transparent;
color: $color-text;
position: relative;
height: 52px;
min-width: 217px;
font-size: 18px;
&:hover {
color: #40ecc1;
}
&:disabled {
cursor: not-allowed;
color: #777;
}
&:focus-visible {
border: 1px solid #40ecc1;
}
&:disabled:hover {
color: #777;
}
&::before {
left: 0;
border-radius: 2px 0px 0px 2px;
@include ion-lamp;
@include animation-ion-lamp;
}
&::after {
right: 0;
border-radius: 0px 2px 2px 0px;
@include ion-lamp;
@include animation-ion-lamp;
}
}
.smallBtn {
height: 34px;
min-width: 120px;
font-size: 16px;
}
a.containerBtnGrd {
display: inline-block;
}
@keyframes blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.7;
}
}
.GradientContainer {
transform-style: preserve-3d;
position: relative;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 0 10px;
}
.containerBtnGrd:not(:disabled) {
.GradientContainer {
&::before {
@include styleGradientPseudoEl;
@include linear-gradient-green(-90deg);
left: 3px;
transform-origin: left;
transform: perspective(100px) rotateY(55deg);
}
&::after {
@include styleGradientPseudoEl;
@include linear-gradient-green(90deg);
right: 3px;
transform-origin: right;
transform: perspective(100px) rotateY(-55deg);
}
}
}