@keyframes rgb { 0% { color: hsl(120, 39%, 49%); } 20% { color: hsl(192, 48%, 48%); } 40% { color: hsl(264, 90%, 58%); } 60% { color: hsl(357, 89%, 50%); } 80% { color: hsl(46, 100%, 51%); } 100% { color: hsl(120, 39%, 49%); } } @keyframes rgb-bg { 0% { background: hsl(120, 39%, 49%); } 20% { background: hsl(192, 48%, 48%); } 40% { background: hsl(264, 90%, 58%); } 60% { background: hsl(357, 89%, 50%); } 80% { background: hsl(46, 100%, 51%); } 100% { background: hsl(120, 39%, 49%); } } @keyframes rgb-fill { 0% { fill: hsl(120, 39%, 49%); } 20% { fill: hsl(192, 48%, 48%); } 40% { fill: hsl(264, 90%, 58%); } 60% { fill: hsl(357, 89%, 50%); } 80% { fill: hsl(46, 100%, 51%); } 100% { fill: hsl(120, 39%, 49%); } } .pageSettings .section .buttons button.active, .pageSettings .section.languages .buttons .language.active, .pageAccount .group.filterButtons .buttons button.active { animation: rgb-bg 5s linear infinite; } #caret { animation: rgb-bg 5s linear infinite !important; } header[data-focused] { & [data-ui-element="logoSubtext"] { animation: none; } & [data-ui-element="logo"] svg path { animation: none; } } [data-ui-element="logoSubtext"], #result .stats .group .bottom, [data-nav-item]:hover, footer button:hover, #words.flipped .word, footer a:hover, a:not(.button):not([data-ui-variant="button"]):hover { animation: rgb 5s linear infinite; } #words { --correct-letter-animation: rgb 5s linear infinite; } #words.flipped { --correct-letter-animation: none; --untyped-letter-animation: rgb 5s linear infinite; } header [data-ui-element="logo"] svg path, header [data-nav-item="account"]:hover [data-ui-element="navAvatar"] svg path { animation: rgb-fill 5s linear infinite; } [data-ui-element="accountMenu"] a:hover, [data-ui-element="accountMenu"] button:hover { animation: none; }