.modalContainer, .modalBackground, .modalScroll { position: fixed; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; z-index: 10; } .modalContainer { opacity: 0; transition: opacity .1s; pointer-events: none; } .modalShown { opacity: 1; transition: opacity .5s; pointer-events: initial; } .modalBackground { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.7); } .modalScroll { overflow-y: auto; cursor: pointer; } .modal { border: none; margin: 100px auto; max-width: 600px; width: calc(100vw - 50px); background: white; min-height: 100px; animation: slidein .4s; box-shadow: 0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12); } @keyframes slidein { 0% { margin-top: 80px; } 100% { margin-top: 100px; } } .titleContainer { height: 60px; display: flex; flex-direction: row; border-bottom: solid 1px rgba(0,0,0,.1); padding: 0 8px; color: black; } .titleContainer > h2:first-child { flex: 1; } .titleContainer > button:last-child { color: black; }