99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
 | 
						|
 | 
						|
* {
 | 
						|
    --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))); } }
 | 
						|
 | 
						|
 | 
						|
 |