* { box-sizing: border-box; }
body { margin: 0px; padding: 0px; font-size: 14px; font-family: sans-serif; }

body > header { padding: 14px; background-color: #bbf; }

#principal { display: flex; justify-content: center; align-items: center; }

form { margin: 20px; }
form table { border-collapse: separate; border-spacing: 10px; }
form table caption { font-size: 20px; font-weight: bold; padding-bottom: 3px; }

label { font-weight: normal; }
input { padding: 7px; border: 1px solid #bbb; border-radius: 4px; font-size: 14px; }
input[type=reset],
input[type=submit] { background-color: #eef; border-color: #cce; min-width: 100px; }
input[type=reset]:hover, 
input[type=submit]:hover { background-color: #ddf; border-color: #bbf; cursor: pointer; }
input[type=submit]:hover { background-color: #cec; border-color: #6f6; }

body > footer { padding: 14px; background-color: #777; color: #ddd; }
body > footer a { color: #ddd; text-decoration: none; }
body > footer a:hover { color: #fff; text-decoration: underline; }