

* {
    --font-size: 4vw;
}

.outer {
    margin: 0;
    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.8 * var(--font-size));
    transform: scaleX(0.5) translateY(calc(-0.9 * 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))); } }



