.modal { position: fixed; top: 50%; left: 50%; font-size: 1em; width: var(--modal-size); max-width: calc(100% - 2em); min-width: 10em; transform: translate(-50%, -50%); opacity: 0; perspective: 1000px; transition: opacity var(--layout-transition-extra-fast); z-index: var(--z-index-modal); } .modal-wrapper { background-color: rgb(var(--theme-color-01)); border-radius: var(--theme-radius); box-shadow: var(--theme-shadow-bottom-large); position: relative; max-height: calc(100vh - 2em); overflow-y: auto; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto; justify-items: stretch; align-items: stretch; transition: background-color var(--layout-transition-extra-fast), opacity var(--layout-transition-extra-fast); } .modal-wrapper .container { max-width: 100%; } .modal-body { border-radius: var(--theme-radius) var(--theme-radius) 0 0; overflow-y: auto; box-sizing: border-box; z-index: 1; position: relative; } .modal-body-spacer { margin: calc(var(--form-wrap-space) * 2) calc(var(--form-wrap-space) * 2.5); } .modal-heading:focus { outline: none; } .modal-controls { background-color: rgb(var(--theme-color-01)); border-radius: 0 0 var(--theme-radius) var(--theme-radius); position: relative; z-index: 2; display: flex; transition: background-color var(--layout-transition-extra-fast); } .modal-button { background-color: transparent; margin: 0; padding-top: 1.5em; padding-bottom: 1.5em; flex-basis: 50%; } .modal-controls .modal-button:first-child { border-radius: 0 0 0 var(--theme-radius); } .modal-controls .modal-button:last-child { border-radius: 0 0 var(--theme-radius) 0 }