.search-label { display: flex; align-items: center; box-sizing: border-box; position: relative; border: 1px solid transparent; border-radius: 6px; overflow: hidden; background: #f5f5f5; padding: 6px 9px; cursor: text; transition: all 0.5s; } .search-label:hover { border-color: rgb(202, 202, 202); } .search-label:focus-within { background: #eaeaea; border-color: rgba(230, 230, 230, 0.779); } .search-label input { outline: none; width: 100%; border: none; background: none; color: rgb(162, 162, 162); margin-left: -20px; font-size: 14px; } .search-label input:focus + .search-button { display: none; } .search-label input:valid { width: calc(100% - 22px); transform: translateX(20px); } .search-button:active { box-shadow: inset 0 1px 0 0 #c7c7c7, inset 0 0 1px 1px rgb(203, 203, 203), 0 1px 2px 0 rgba(28, 28, 29, 0.4); text-shadow: 0 1px 0 #7e7e7e; color: transparent; } .search-button { position: absolute; color: #939393; right: 12px; border: 1px solid #e7e7e7; background: linear-gradient(-225deg, #eaeaea, #e1e1e1); border-radius: 5px; text-align: center; box-shadow: inset 0 -2px 0 0 #cfcfcf, inset 0 0 1px 1px rgb(245, 245, 245), 1px 1px 1px 1px rgba(226, 226, 226, 0.4); cursor: pointer; font-size: 16px; width: 30px; height: 25px; line-height: 22px; z-index: 10; }