* { --font-size: 1cm; } .container { margin: 1ex; padding: 1ex; border: none; display: flex; align-items: center; /* width: 11em; */ /* height: 4em; */ } .permutation { display: flex; flex-direction: row; } .parenthesis { display: inline; font-size: calc(2.2 * var(--font-size)); transform: scaleX(0.5) translateY(calc(-0.05 * var(--font-size))); } .lines { display: flex; flex-direction: column; } .text { display: flex; flex-direction: row; flex-wrap: nowrap; gap: calc(var(--font-size)/2); font-size: var(--font-size); font-family: serif; } .text > div { flex-basis: min-content; flex-grow: 1; text-align: center; } .perm { /* animation-fill-mode: forwards; */ animation-duration: 3s; /* animation-fill-mode: forwards; */ animation-timing-function: quartic; animation-direction: alternate; animation-iteration-count: infinite; } .perm.shift-of-1 { animation-name: shift_1; } .perm.shift-of-1.reverse { animation-name: shift_1_reverse; } .perm.shift-of-2 { animation-name: shift_2; } .perm.shift-of-2.reverse { animation-name: shift_2_reverse; } .perm.shift-of-3 { animation-name: shift_3; } .perm.shift-of-3.reverse { animation-name: shift_3_reverse; } .perm.shift-of-4 { animation-name: shift_4; } .perm.shift-of-4.reverse { animation-name: shift_4_reverse; } .perm.shift-of-5 { animation-name: shift_5; } .perm.shift-of-5.reverse { animation-name: shift_5_reverse; } .perm.shift-of-6 { animation-name: shift_6; } .perm.shift-of-6.reverse { animation-name: shift_6_reverse; } @keyframes shift_1 { 90%, to { transform: translateX(calc(var(--font-size))); } } @keyframes shift_1_reverse { 90%, to { transform: translateX(calc(-1 * var(--font-size))); } } @keyframes shift_2 { 90%, to { transform: translateX(calc(2 * var(--font-size))); } } @keyframes shift_2_reverse { 90%, to { transform: translateX(calc(-2 * var(--font-size))); } } @keyframes shift_3 { 90%, to { transform: translateX(calc(3 * var(--font-size))); } } @keyframes shift_3_reverse { 90%, to { transform: translateX(calc(-3 * var(--font-size))); } } @keyframes shift_4 { 90%, to { transform: translateX(calc(4 * var(--font-size))); } } @keyframes shift_4_reverse { 90%, to { transform: translateX(calc(-4 * var(--font-size))); } } @keyframes shift_5 { 90%, to { transform: translateX(calc(5 * var(--font-size))); } } @keyframes shift_5_reverse { 90%, to { transform: translateX(calc(-5 * var(--font-size))); } } @keyframes shift_6 { 90%, to { transform: translateX(calc(6 * var(--font-size))); } } @keyframes shift_6_reverse { 90%, to { transform: translateX(calc(-6 * var(--font-size))); } }