@keyframes spin { 100% { transform: rotateY(360deg); } } .search { display: flex; justify-content: center; border: 1px solid var(--color-contrast-medium); min-width: 1em; height: 1em; line-height: 1; border-radius: 0.75em; padding: 0.25em; .search-icon { cursor: pointer; width: 1em; height: 1em; margin: 0; vertical-align: bottom; color: var(--color-contrast-medium); transition: color $duration; &:hover { color: var(--color-primary); } } &[data-running] .search-icon { animation: spin 1.5s linear infinite; } .search-input { -moz-appearance: textfield; -webkit-appearance: textfield; appearance: textfield; border-width: 0; padding: 0; margin: 0; width: 0; outline: none; background: transparent; color: var(--color-contrast-higher); transition: width $duration; &:focus { margin-left: 0.5em; width: 5em; } } }