:root { --max-width-navigation: 89.5rem; --max-width-spacing: calc(var(--Space-x2) * 2); --max-width-page: min( calc(100dvw - var(--max-width-spacing)), var(--max-width-navigation) ); } .overlay { background: rgba(0, 0, 0, 0.5); height: var(--visual-viewport-height); position: fixed; top: 0; left: 0; width: 100vw; z-index: 100; } .modal { background-color: var(--Neutral-0); border-radius: var(--Corner-radius-md) var(--Corner-radius-md) 0 0; box-shadow: 0px 4px 24px 0px rgba(38, 32, 30, 0.08); width: 100%; position: absolute; left: 0; bottom: 0; z-index: 101; } .dialog { display: flex; flex-direction: column; /* For removing focus outline when modal opens first time */ outline: 0 none; /* for supporting animations within content */ position: relative; overflow: hidden; max-height: 100dvh; } .header { box-sizing: content-box; display: flex; align-items: flex-start; gap: var(--Space-x3); justify-content: space-between; min-height: min-content; position: relative; padding: var(--Space-x3) var(--Space-x3) 0; } .content { display: flex; flex-direction: column; /* align-items: center; */ gap: var(--Space-x2); overflow: auto; padding: var(--Space-x3); } .close { background: none; border: none; cursor: pointer; padding: 0; } @media screen and (min-width: 768px) { :root { --max-width-spacing: calc(var(--Space-x3) * 2); } .overlay { display: flex; justify-content: center; align-items: center; } .modal { left: auto; bottom: auto; width: auto; border-radius: var(--Corner-radius-md); max-width: var(--max-width-page); } .dialog { max-height: 90dvh; } } @media screen and (min-width: 1367px) { :root { --max-width-spacing: calc(var(--Space-x5) * 2); } }