.wrapper { display: flex; flex-flow: column; min-height: 100vh; } header { margin: 35px 0; } .account-form-wrapper { margin: auto; width: fit-content; overflow: hidden; } form.account { display: block; padding: 40px 48px; background-color: var(--bg-shade-2); color: var(--text-shade-1); border-radius: 12px; width: min(480px, 90vw); box-sizing: border-box; } form.account h2 { margin: 0; color: var(--text-shade-3); } form.account p { margin: 12px 0; } form.account div { margin-top: 24px; } form.account label { display: block; margin-bottom: 6px; text-transform: uppercase; font-size: 12px; } form.account button { width: 100%; background: var(--accent-shade-0); } form.account a { text-decoration: none; display: block; color: var(--text-shade-1); text-align: right; margin: 6px 0; width: fit-content; } form.account a:hover { color: var(--text-shade-3); } form.account a.pwdreset { margin-left: auto; font-size: 14px; } form.account a.register { margin: auto; margin-top: 18px; } @keyframes banner-notice { 0% { top: -150px; } 20% { top: 35px; } 80% { top: 35px; } 100% { top: -150px; } } .banner-notice { display: flex; justify-content: center; position: fixed; top: -150px; width: 100%; animation: banner-notice 5s; } .banner-notice div { padding: 4px 36px; border-radius: 5px; z-index: 3; } .banner-notice.success div { background: var(--green-shade-0); } .banner-notice.error div { background: var(--red-shade-1); } form.account.register { display: grid; grid-template-columns: repeat(2, 1fr); width: min(780px, 90vw); column-gap: 24px; margin-bottom: 48px; } form.account.forgot-password div.h-captcha { grid-column: 1 / span 2; display: flex; justify-content: center; } form.account.register p, form.account.register div.email, form.account.register div.buttons { grid-column: 1 / span 2; } @media screen and (max-width: 720px) { form.account.register { grid-template-columns: 1fr; } form.account.register div.h-captcha, form.account.register p, form.account.register div.email, form.account.register div.buttons { grid-column: unset; } }