html, body { margin: 0px; height: 100%; overflow: hidden; } * { box-sizing: border-box; } #container { position: relative; overflow: hidden; margin: auto; text-align: center; width: 100%; max-width: 500px; height: 100%; } #add { margin-top: 12px; } #add .name { width: 80%; height: 30px; } #add .submit { width: 10%; height: 30px; } #add .suggestions { transition: opacity 0.2s; display: none; z-index: 2; display: inline; background: white; box-shadow: 0px 0px 10px 1px black; position: absolute; width: 90%; margin: auto; left: 0px; right: 0px; margin-top: 45px; padding-top: 12px; padding-bottom: 12px; max-height: 80%; overflow-y: auto; } #add .suggestions.hidden { opacity: 0; } #add .suggestions .suggestion:last-child { border-bottom: none; } #add .suggestions .suggestion { padding: 12px; cursor: pointer; border-bottom: 1px solid #666; } #list { margin-top: 24px; } #list .elem { transition: padding 0.3s, height 0.3s; padding-left: 12px; padding-top: 32px; padding-bottom: 3px; position: relative; margin: auto; text-align: left; width: 100%; height: 50px; overflow: hidden; border-bottom: 1px solid #666; } #list .elem.hidden { transition: transform 0.3s ease-in, padding 0.2s 0.1s ease-in, height 0.2s 0.1s ease-in; transform: translateX(-150%); height: 0px; padding: 0px; } #list .elem .ok { position: relative; display: inline-block; float: right; margin-right: 6px; height: 40px; width: 40px; bottom: 25px; background-image: url(/icon-check.svg); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; cursor: pointer; border-radius: 100px; background-color: #eee; }