.progress-tracker { display: flex; margin: 60px auto; padding: 0; list-style: none; } .progress-step { flex: 1 1 0%; margin: 0; padding: 0; min-width: 24px; } .progress-step:last-child { flex-grow: 0; } .progress-step:last-child .progress-marker::after { display: none; } .progress-link { display: block; position: relative; } .progress-marker { display: block; position: relative; } .progress-marker::before { content: attr(data-text); display: flex; justify-content: center; align-items: center; position: relative; z-index: 20; width: 24px; height: 24px; padding-bottom: 2px; border-radius: 50%; transition: background-color, border-color; transition-duration: 0.3s; } .progress-marker::after { content: ""; display: block; position: absolute; z-index: -10; top: 10px; right: -12px; width: 100%; height: 4px; transition: background-color 0.3s, background-position 0.3s; } .progress-text { display: block; padding: 8px 8px; overflow: hidden; text-overflow: ellipsis; } .progress-title { margin-top: 0; } .progress-step .progress-marker { color: #fff; } .progress-step .progress-marker::before { background-color: #b6b6b6; } .progress-step .progress-marker::after { background-color: #b6b6b6; } .progress-step .progress-text { color: #333; } .progress-step.is-active .progress-marker::before { background-color: #2196F3; } .progress-step.is-complete .progress-marker::before, .progress-step.is-progress .progress-marker::before { background-color: #1976D2; } .progress-step.is-complete .progress-marker::after, .progress-step.is-progress .progress-marker::after { background-color: #868686; } .progress-step.is-progress-10 .progress-marker::after { background-image: linear-gradient(to right, #868686 10%, #b6b6b6 10%); } .progress-step.is-progress-20 .progress-marker::after { background-image: linear-gradient(to right, #868686 20%, #b6b6b6 20%); } .progress-step.is-progress-30 .progress-marker::after { background-image: linear-gradient(to right, #868686 30%, #b6b6b6 30%); } .progress-step.is-progress-40 .progress-marker::after { background-image: linear-gradient(to right, #868686 40%, #b6b6b6 40%); } .progress-step.is-progress-50 .progress-marker::after { background-image: linear-gradient(to right, #868686 50%, #b6b6b6 50%); } .progress-step.is-progress-60 .progress-marker::after { background-image: linear-gradient(to right, #868686 60%, #b6b6b6 60%); } .progress-step.is-progress-70 .progress-marker::after { background-image: linear-gradient(to right, #868686 70%, #b6b6b6 70%); } .progress-step.is-progress-80 .progress-marker::after { background-image: linear-gradient(to right, #868686 80%, #b6b6b6 80%); } .progress-step.is-progress-90 .progress-marker::after { background-image: linear-gradient(to right, #868686 90%, #b6b6b6 90%); } .progress-step:hover .progress-marker::before { background-color: #56ADF5; } .progress-tracker--text .progress-step:last-child, .progress-tracker--center .progress-step:last-child, .progress-tracker--right .progress-step:last-child { flex-grow: 1; } .progress-tracker--center { text-align: center; } .progress-tracker--center .progress-marker::before, .progress-tracker--center .progress-text--dotted::before { margin-left: auto; margin-right: auto; } .progress-tracker--center .progress-marker::after { right: -50%; } .progress-tracker--right { text-align: right; } .progress-tracker--right .progress-marker::before, .progress-tracker--right .progress-text--dotted::before { margin-left: auto; } .progress-tracker--right .progress-marker::after { right: calc(-100% + 12px); } .progress-tracker--spaced .progress-marker::after { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px; } .progress-tracker--border { padding: 4px; border: 2px solid #333; border-radius: 32px; } .progress-tracker--theme-red .progress-step .progress-marker { color: #fff; } .progress-tracker--theme-red .progress-step .progress-marker::before { background-color: #666; } .progress-tracker--theme-red .progress-step .progress-marker::after { background-color: #666; } .progress-tracker--theme-red .progress-step .progress-text { color: #333; } .progress-tracker--theme-red .progress-step.is-active .progress-marker::before { background-color: #A62D24; } .progress-tracker--theme-red .progress-step.is-complete .progress-marker::before { background-color: #D93B30; } .progress-tracker--theme-red .progress-step.is-complete .progress-marker::after { background-color: #333; } .progress-tracker--theme-red .progress-step:hover .progress-marker::before { background-color: #DF7B74; } .progress-text--dotted::before { content: ""; display: block; width: 12px; height: 12px; margin: 6px -2px; background-size: 12px 18px; background-image: repeating-radial-gradient(circle at center 6px, #b6b6b6, #b6b6b6 5px, rgba(182, 182, 182, 0.5) 5.5px, rgba(182, 182, 182, 0.01) 6px, transparent 100%); } .progress-text--dotted-1::before { height: 12px; } .progress-text--dotted-2::before { height: 30px; } .progress-text--dotted-3::before { height: 48px; } .progress-text--dotted-4::before { height: 66px; } .progress-text--dotted-5::before { height: 84px; } .progress-text--dotted-6::before { height: 102px; } .progress-text--dotted-7::before { height: 120px; } .progress-text--dotted-8::before { height: 138px; } .progress-text--dotted-9::before { height: 156px; } .progress-text--dotted-10::before { height: 174px; } .progress-text--dotted-11::before { height: 192px; } .progress-text--dotted-12::before { height: 210px; } .progress-tracker--text-top .progress-text { height: 100%; } .progress-tracker--text-top .progress-marker { top: -24px; } .progress-tracker--text-inline { overflow: hidden; } .progress-tracker--text-inline .progress-step, .progress-tracker--text-inline .progress-marker { display: flex; align-items: center; } .progress-tracker--text-inline .progress-marker { flex-grow: 1; } .progress-tracker--text-inline .progress-marker::after { top: auto; } .progress-tracker--text-inline .progress-text { position: relative; z-index: 30; max-width: 70%; white-space: nowrap; padding-top: 0; padding-bottom: 0; background-color: #fff; } .progress-tracker--text-inline .progress-marker .progress-text { display: inline-block; } .progress-tracker--text-inline .progress-title { margin: 0; } .progress-tracker--square .progress-marker::before { border-radius: 0; } .progress-tracker--square .progress-marker::after { top: auto; bottom: 0; } @media (max-width: 575px) { .progress-tracker-wrapper { overflow-x: auto; scroll-snap-type: x proximity; } .progress-tracker-wrapper .progress-step { min-width: 50%; scroll-snap-align: start; } } .progress-tracker--vertical { flex-direction: column; } .progress-tracker--vertical .progress-step { display: flex; flex: 1 1 auto; } .progress-tracker--vertical.progress-tracker--right .progress-step { flex-direction: row-reverse; } .progress-tracker--vertical .progress-marker::after { right: auto; top: 12px; left: 10px; width: 4px; height: 100%; } .progress-tracker--vertical .progress-text { padding: 0 12px 24px 12px; } @keyframes scale-up { from { opacity: 1; transform: translate(-50%, -50%) scale(0); } to { opacity: 0; transform: translate(-50%, -50%) scale(1); } } .anim-ripple .progress-link::before, .anim-ripple-large .progress-link::before, .anim-ripple-splash .progress-link::before { content: ""; display: block; width: 24px; height: 24px; position: absolute; top: 12px; left: 12px; z-index: 30; background: rgba(0, 0, 0, 0.3); border-radius: 50%; transform: translate(-50%, -50%) scale(0); visibility: hidden; } .anim-ripple .progress-link:not(:active)::before, .anim-ripple-large .progress-link:not(:active)::before, .anim-ripple-splash .progress-link:not(:active)::before { animation: scale-up 0.3s ease-out; } .anim-ripple .progress-link:focus::before, .anim-ripple-large .progress-link:focus::before, .anim-ripple-splash .progress-link:focus::before { visibility: visible; } .anim-ripple.progress-tracker--center .progress-link::before, .anim-ripple.progress-tracker--center .progress-link::after, .progress-tracker--center .anim-ripple .progress-link::before, .progress-tracker--center .anim-ripple .progress-link::after, .anim-ripple-large.progress-tracker--center .progress-link::before, .anim-ripple-large.progress-tracker--center .progress-link::after, .progress-tracker--center .anim-ripple-large .progress-link::before, .progress-tracker--center .anim-ripple-large .progress-link::after, .anim-ripple-splash.progress-tracker--center .progress-link::before, .anim-ripple-splash.progress-tracker--center .progress-link::after, .progress-tracker--center .anim-ripple-splash .progress-link::before, .progress-tracker--center .anim-ripple-splash .progress-link::after, .anim-ripple-double.progress-tracker--center .progress-link::before, .anim-ripple-double.progress-tracker--center .progress-link::after, .progress-tracker--center .anim-ripple-double .progress-link::before, .progress-tracker--center .anim-ripple-double .progress-link::after { left: 50%; } .anim-ripple.progress-tracker--right .progress-link::before, .anim-ripple.progress-tracker--right .progress-link::after, .progress-tracker--right .anim-ripple .progress-link::before, .progress-tracker--right .anim-ripple .progress-link::after, .anim-ripple-large.progress-tracker--right .progress-link::before, .anim-ripple-large.progress-tracker--right .progress-link::after, .progress-tracker--right .anim-ripple-large .progress-link::before, .progress-tracker--right .anim-ripple-large .progress-link::after, .anim-ripple-splash.progress-tracker--right .progress-link::before, .anim-ripple-splash.progress-tracker--right .progress-link::after, .progress-tracker--right .anim-ripple-splash .progress-link::before, .progress-tracker--right .anim-ripple-splash .progress-link::after, .anim-ripple-double.progress-tracker--right .progress-link::before, .anim-ripple-double.progress-tracker--right .progress-link::after, .progress-tracker--right .anim-ripple-double .progress-link::before, .progress-tracker--right .anim-ripple-double .progress-link::after { left: calc(100% - 12px); } .anim-ripple-splash .progress-link::before { width: 48px; height: 48px; box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.35); } .anim-ripple-double .progress-link::before, .anim-ripple-double .progress-link::after { content: ""; display: block; width: 24px; height: 24px; position: absolute; top: 12px; left: 12px; z-index: 30; background: rgba(0, 0, 0, 0.3); border-radius: 50%; transform: translate(-50%, -50%) scale(0); visibility: hidden; background: none; border: 3px solid rgba(0, 0, 0, 0.3); } .anim-ripple-double .progress-link:not(:active)::before, .anim-ripple-double .progress-link:not(:active)::after { animation: scale-up 0.3s ease-out 0s; } .anim-ripple-double .progress-link:not(:active)::after { animation-delay: 0.15s; } .anim-ripple-double .progress-link:focus::before, .anim-ripple-double .progress-link:focus::after { visibility: visible; } .anim--large .progress-link::before, .anim--large .progress-link::after { width: 48px; height: 48px; } .anim--path .progress-marker::after { background-image: linear-gradient(to right, #b6b6b6 50%, #868686 50%); background-size: 200% 100%; background-position: 0% 100%; transition: background-position 0.3s ease-out; } .progress-step.is-complete .anim--path .progress-marker::after { background-position: -100% 100%; } .anim--path .progress-step.is-complete .progress-marker::after { background-position: -100% 100%; } [dir=rtl] .progress-marker::after { right: auto; left: -12px; } [dir=rtl] .progress-tracker--center .progress-marker::after { left: -50%; }