:root { --border-color: gray; --highlight-color: #D36200; --background-color: #CECECE; --dark-background-color: #3A3A3A; --inset-background-color: #FFFFFF; } * { box-sizing: border-box; } body { font-size: 1.2em; font-family: sans-serif; background-color: var(--background-color); } h1, h2, h3, h4, h5, h6, h7 { font-weight: bold; padding: .5em 0; } h1 { font-size: 4em; text-align: center; color: var(--highlight-color); -webkit-text-stroke: 1px var(--background-color); } h2 { font-size: 2.5em; } header { background-color: var(--dark-background-color); } nav { padding: 1em; > ul { text-align: center; > li { display: inline; padding: 0 2em; > a:link, > a:visited { text-decoration: none; font-size: 1.3em; font-weight: bold; } > a:hover { text-decoration: underline; } } } } a:link, a:visited { color: var(--highlight-color); } a:hover { text-decoration: none; } main { padding: 1em; } form { display: grid; grid-template-columns: 1fr 2fr; gap: .5em; align-items: center; max-width: 35em; margin: 0 auto; border: 1px solid var(--border-color); border-radius: .5em; font-size: 1.2em; background-color: var(--inset-background-color); box-shadow: .5em .5em 3em var(--dark-background-color); > label { grid-column: 1; text-align: right; margin: 0 .1em 1em .5em; } > input { font-size: 1em; grid-column: 2; padding: .25em; margin: 0 .5em 1em .1em; } > input[type=submit] { grid-column: 1/3; margin: 0 .5em 1em .5em; background-color: var(--highlight-color); border: 1px solid var(--border-color); border-radius: .25em; } > input[type=text]:focus, > input[type=password]:focus, > textarea:focus { box-shadow: 0 0 10px var(--highlight-color); } > h2 { text-align: center; font-size: 1.5em; background-color: var(--highlight-color); grid-column: 1/3; border-radius: .2em .2em 0 0; } }