body { font-family: sans-serif; } div.login-box { margin-left: auto; margin-right: auto; display: block; width: 30em; background: #fff; border: 1px #888 solid; min-height: 20em; padding-left: 2em; padding-right: 2em; } div.login-box h1 { font-weight: normal; text-align: center; vertical-align: middle; } div.login-content { display: table; height: 15em; width: 100%; } div.login-box div.spacer { display: table-row; min-height: 3em; } div.login-box div.login-challenge { width: 100%; display: table-row; } div.login-challenge div.challenge-type { padding-right: 1em; display: inline-block; } div.login-challenge div.challenge-content { margin-left: auto; margin-right: auto; display: inline-block; } div.error-msg { background: #fcc; border: #888 1px solid; border-radius: 5pt; padding-left: 1em; padding-right: 1em; } div.footer { text-align: center; font-size: .75em; }