@include keyframes (progress-line) { 0% { left: 0; opacity: 0; animation-timing-function: ease-out; } 20% { left: 0; opacity: 0; animation-timing-function: ease; } 25%, 75% { opacity: 1; } 35% { left: 45%; animation-timing-function: linear; } 65% { left: 55%; animation-timing-function: ease-in; } 80%, to { left: 100%; opacity: 0; } } @include keyframes (progress-circle) { 0% { transform: rotate(200deg); animation-timing-function: ease-out; opacity: 1; } 7% { transform: rotate(320deg); animation-timing-function: linear; } 30% { transform: rotate(430deg); animation-timing-function: ease-in-out; } 39% { transform: rotate(650deg); animation-timing-function: linear; } 70% { transform: rotate(775deg); opacity: 1; animation-timing-function: ease-out; } 75% { transform: rotate(905deg); } 76% { transform: rotate(905deg); opacity: 0; } to { transform: rotate(905deg); opacity: 0; } } @include keyframes (progress-phone) { 0% { transform: translateX(-30px); opacity: 0; } 25% { opacity: 1; } 50% { transform: translateX(30px); opacity: 0; } 100% { opacity: 0; } } .progress-cover { padding: $progress-cover-padding; .progress { background-color: transparent; &.fluent-position { position: absolute; top: $progress-cover-fluent-position-top; left: $progress-cover-fluent-position-left; transform: $progress-cover-fluent-transform; margin: auto; .progress-span { position: absolute; transform: $progress-cover-fluent-span-transform-rotate; animation: $progress-cover-fluent-span-animation infinite; opacity: 0; &:after { content: ""; position: absolute; } &:first-child { animation-delay: $progress-cover-fluent-span-animation-delay-1; } &:nth-child(2) { animation-delay: $progress-cover-fluent-span-animation-delay-2; } &:nth-child(3) { animation-delay: $progress-cover-fluent-span-animation-delay-3; } &:nth-child(4) { animation-delay: $progress-cover-fluent-span-animation-delay-4; } } &.progress-small { width: $progress-cover-small-width; height: $progress-cover-small-height; padding: $progress-cover-small-padding; .progress-span { width: $progress-cover-small-span-width; height: $progress-cover-small-span-height; &:after { width: $progress-cover-small-span-after-width; height: $progress-cover-small-span-after-height; border-radius: $progress-cover-small-span-after-br; } } } &.progress-medium { width: $progress-cover-medium-width; height: $progress-cover-medium-height; padding: $progress-cover-medium-padding; .progress-span { width: $progress-cover-medium-span-width; height: $progress-cover-medium-span-height; &:after { width: $progress-cover-medium-span-after-width; height: $progress-cover-medium-span-after-height; border-radius: $progress-cover-medium-span-after-br; } } } &.progress-large { width: $progress-cover-large-width; height: $progress-cover-large-height; padding: $progress-cover-large-padding; .progress-span { width: $progress-cover-large-span-width; height: $progress-cover-large-span-height; &:after { width: $progress-cover-large-span-after-width; height: $progress-cover-large-span-after-height; border-radius: $progress-cover-large-span-after-br; } } } } &.fluent { border: 0; height: $progress-cover-fluent-height; border-radius: 0; margin-top: $progress-cover-fluent-mt; } } .progress-fluent-line { width: 100%; .progress-span { position: absolute; display: flex; opacity: 0; animation-delay: $progress-cover-fluent-line-animation-delay; animation: $progress-cover-fluent-line-animation infinite; &:first-child { animation-delay: $progress-cover-fluent-line-animation-delay-first; &::after { left: $progress-cover-fluent-line-animation-delay-first-after; } } &:nth-child(2) { animation-delay: $progress-cover-fluent-line-animation-delay-second; &:after { left: $progress-cover-fluent-line-animation-delay-second-after; } } &:nth-child(3) { animation-delay: $progress-cover-fluent-line-animation-delay-third; &:after { left: $progress-cover-fluent-line-animation-delay-third-after; } } &:nth-child(4) { animation-delay: $progress-cover-fluent-line-animation-delay-fourth; &:after { left: $progress-cover-fluent-line-animation-delay-fourth-after; } } &:nth-child(5) { animation-delay: $progress-cover-fluent-line-animation-delay-fifth; &:after { left: $progress-cover-fluent-line-animation-delay-fifth-after; @media (min-width: 1440px) { left: $progress-cover-fluent-line-animation-delay-fifth-media-1; } } } &:after { content: ""; position: absolute; display: flex; border-radius: $progress-cover-fluent-line-after-br; } } &.progress-primary { .progress-span { &:after { background: $blue; } } } &.progress-secondary { .progress-span { &:after { background: $progress-cover-fluent-line-primary-span-after-bg; } } } &.progress-default { .progress-span { &:after { background: $dark-purple; } } } &.progress-warning { .progress-span { &:after { background: $warning-color; } } } &.progress-danger { .progress-span { &:after { background: $deep-orange; } } } &.progress-success { .progress-span { &:after { background: $dark-green; } } } &.progress-info { .progress-span { &:after { background: $turquoise; } } } &.progress-megent { .progress-span { &:after { background: $megent; } } } &.progress-small { .progress-span { &:after { width: 3px; height: 3px; } } } &.progress-medium { .progress-span { &:after { width: 6px; height: 6px; } } } &.progress-large { .progress-span { &:after { width: 9px; height: 9px; } } } } &.progress-cover-primary { .progress.fluent-position { .progress-span { &:after { background: $blue; } } } } &.progress-cover-secondary { .progress.fluent-position { .progress-span { &:after { background: $progress-cover-fluent-line-primary-span-after-bg; } } } } &.progress-cover-default { .progress.fluent-position { .progress-span { &:after { background: $dark-purple; } } } } &.progress-cover-warning { .progress.fluent-position { .progress-span { &:after { background: $warning-color; } } } } &.progress-cover-danger { .progress.fluent-position { .progress-span { &:after { background: $deep-orange; } } } } &.progress-cover-success { .progress.fluent-position { .progress-span { &:after { background: $dark-green; } } } } &.progress-cover-info { .progress.fluent-position { .progress-span { &:after { background: $turquoise; } } } } &.progress-cover-megent { .progress.fluent-position { .progress-span { &:after { background: $megent; } } } } &[class^=progress-] { position: relative; } } .progress-fluent { border-radius: 0 !important; } .progress-mobile { [class*=progress-] { display: inline-block; margin: 12px 2px; border-radius: 100%; animation: progress-phone 3.2s infinite; animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415); animation-fill-mode: both; &:first-child { animation-delay: 1s; } &:nth-child(2) { animation-delay: 0.8s; } &:nth-child(3) { animation-delay: 0.6s; } &:nth-child(4) { animation-delay: 0.4s; } &:nth-child(5) { animation-delay: 0.2s; } &:nth-child(6) { animation-delay: 0; } } &-primary { .progress-span-mobile { background: $blue; } } &-default { .progress-span-mobile { background: $purple; } } &-secondary { .progress-span-mobile { background: $progress-cover-fluent-line-primary-span-after-bg; ; } } &-success { .progress-span-mobile { background: $dark-green; } } &-danger { .progress-span-mobile { background: $deep-orange; } } &-warning { .progress-span-mobile { background: $warning-color; } } &-info { .progress-span-mobile { background: $turquoise; } } &-megent { .progress-span-mobile { background: $megent; } } &.progress-small { .progress-span-mobile { width: $progress-mobile-span-small-width; height: $progress-mobile-span-small-height; } } &.progress-medium { .progress-span-mobile { width: $progress-mobile-span-medium-width; height: $progress-mobile-span-medium-height; } } &.progress-large { .progress-span-mobile { width: $progress-mobile-span-large-width; height: $progress-mobile-span-large-height; } } }