180 lines
2.6 KiB
CSS
180 lines
2.6 KiB
CSS
.rubles {
|
|
pointer-events: none;
|
|
color: var(--mantine-color-green-8);
|
|
stroke: currentColor;
|
|
|
|
& path {
|
|
opacity: 0;
|
|
--flight-x: -7px;
|
|
--flight-rotation: -20deg;
|
|
--flight-delay: 0ms;
|
|
}
|
|
|
|
& path:nth-child(2) {
|
|
--flight-x: 0px;
|
|
--flight-rotation: 8deg;
|
|
--flight-delay: 120ms;
|
|
}
|
|
|
|
& path:nth-child(3) {
|
|
--flight-x: 7px;
|
|
--flight-rotation: 24deg;
|
|
--flight-delay: 240ms;
|
|
}
|
|
}
|
|
|
|
.portfolioRuble {
|
|
stroke: var(--mantine-color-green-8);
|
|
opacity: 0;
|
|
}
|
|
|
|
.stockArrow {
|
|
transform-origin: 21px 5px;
|
|
}
|
|
|
|
.topSlider,
|
|
.bottomSlider {
|
|
fill: var(--mantine-color-body);
|
|
}
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
.drawStroke,
|
|
.couponLines path {
|
|
stroke-dasharray: 1;
|
|
}
|
|
|
|
.topSlider {
|
|
--slider-offset: 3px;
|
|
--slider-delay: 0ms;
|
|
}
|
|
|
|
.bottomSlider {
|
|
--slider-offset: -3px;
|
|
--slider-delay: 160ms;
|
|
}
|
|
|
|
.couponLines path:nth-child(2) {
|
|
--line-delay: 140ms;
|
|
}
|
|
|
|
.couponLines path:nth-child(3) {
|
|
--line-delay: 280ms;
|
|
}
|
|
|
|
svg[data-icon-animating] {
|
|
.rubles path {
|
|
animation: ruble-fly 800ms ease-out var(--flight-delay) both;
|
|
}
|
|
.portfolioHandle {
|
|
animation: handle-lift 1200ms ease-in-out;
|
|
}
|
|
.portfolioLid {
|
|
animation: lid-open 1200ms ease-in-out;
|
|
}
|
|
.portfolioRuble {
|
|
animation: portfolio-ruble-reveal 1200ms ease-in-out;
|
|
}
|
|
.stockArrow {
|
|
animation: arrow-pop 300ms ease-out 400ms both;
|
|
}
|
|
.couponLines path {
|
|
animation: stroke-draw 300ms ease-out var(--line-delay, 0ms) both;
|
|
}
|
|
.drawStroke {
|
|
animation: stroke-draw 450ms ease-out;
|
|
}
|
|
:is(.topSlider, .bottomSlider) {
|
|
animation: slider-slide 650ms ease-in-out var(--slider-delay) both;
|
|
}
|
|
}
|
|
}
|
|
|
|
@keyframes ruble-fly {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translate(0, 4px);
|
|
}
|
|
20%,
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
transform: translate(var(--flight-x), -10px) rotate(var(--flight-rotation));
|
|
}
|
|
}
|
|
|
|
@keyframes handle-lift {
|
|
0%,
|
|
100% {
|
|
transform: translateY(0);
|
|
}
|
|
20% {
|
|
transform: translateY(-3px);
|
|
}
|
|
40%,
|
|
75% {
|
|
transform: translateY(-3px);
|
|
}
|
|
}
|
|
|
|
@keyframes lid-open {
|
|
0%,
|
|
15%,
|
|
100% {
|
|
transform: translateY(0);
|
|
}
|
|
40%,
|
|
75% {
|
|
transform: translateY(-3px);
|
|
}
|
|
}
|
|
|
|
@keyframes portfolio-ruble-reveal {
|
|
0%,
|
|
25%,
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(2px);
|
|
}
|
|
40%,
|
|
75% {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes arrow-pop {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(0.7);
|
|
}
|
|
60% {
|
|
opacity: 1;
|
|
transform: scale(1.2);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes stroke-draw {
|
|
0% {
|
|
stroke-dashoffset: 1;
|
|
}
|
|
100% {
|
|
stroke-dashoffset: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes slider-slide {
|
|
0%,
|
|
100% {
|
|
transform: translateX(0);
|
|
}
|
|
50% {
|
|
transform: translateX(var(--slider-offset));
|
|
}
|
|
}
|