:root { --border-color: gray; --highlight-color: #D36200; --background-color: #CCC; --dark-background-color: #333; --inset-background-color: #FFFFFF; --alert-border-color: #800000; --form-error-color: #FF0000; } * { box-sizing: border-box; } body { font-size: 1.2em; font-family: sans-serif; background-color: var(--background-color); } strong { font-weight: bold; } em { font-style: italic; } ol { list-style-type: decimal; } ul { list-style-type: disc; } h1, h2, h3, h4, h5, h6, h7 { font-weight: bold; padding: .5em 0; } h3, h4, h5, h6, h7 { text-decoration: underline; } 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; } } } } main { max-width: 60em; margin: 0 auto; } p { margin: .5em 0; } a:link, a:visited { color: var(--highlight-color); } a:hover { text-decoration: none; } a:link:has(h1), a:visited:has(h1) { text-decoration: none; } section.content, aside { margin: 1em auto; padding: .5em; background-color: var(--inset-background-color); border: 1px solid var(--border-color); } aside { float: left; } dl { line-height: 1.3em; } dt { font-weight: bold; } dd { margin-left: 2em; } 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; } > label.field_with_errors { color: var(--form-error-color); } > input.field_with_errors { border-color: var(--form-error-color); } } div.flash { border: 3px solid; border-radius: .25em; margin: 0 auto 1em auto; max-width: 35em; padding: .5em; background-color: var(--dark-background-color); color: var(--background-color); } div.notice { border-color: var(--highlight-color); } div.alert { border-color: var(--alert-border-color); }