@maxwidth: 728px; * { margin: 0; padding: 0; } img { max-width: @maxwidth; } h1, h2 { color: white; } p, dl, ol, ul, form { margin: 1em 0; } small { font-size: 12px; } li { margin-left: 2em; } a:link, a:visited { color: #fff; text-decoration: none; } a:hover, a:active { color: #ff0; text-decoration: underline; } a img { border: none; } form { label { display: block; margin: 1em 0; } input[type="text"], input[type="password"], input[type="file"], select, textarea { display: block; } input, select, textarea { font: 16px 'Droid Sans Mono', monospace; } textarea { width: @maxwidth - 10px; } input[type="submit"] { padding: .25em 1em; background: yellow; border: 1px inset black; } } body { font: 18px/1.4 'Droid Sans', sans-serif; background: #002758; color: lightgray; > header { display: block; background: #001839; text-align: right; padding-top: 50px; hgroup { display: block; margin: 0 auto; width: @maxwidth; height: 250px; background: transparent url(/images/omega.png) no-repeat left top; h1 { font-size: 72px; letter-space: -.1em; } h2 { font-size: 40px; color: yellow; } } } > nav { display: block; padding: 20px; background: black; text-align: center; a { padding: 3px 10px; } } > article { display: block; margin: 0 auto; width: @maxwidth; position: relative; padding-top: 30px; min-height: 800px; } > aside { text-align: center; margin: 50px 0; } > footer { display: block; background: #001839; color: white; font-size: 14px; > div { margin: 0 auto; width: @maxwidth; height: 160px; padding-top: 20px; position: relative; background: transparent url(/images/bulb.png) no-repeat right bottom; img { width: 128px; float: left; margin-right: 1em; } } } } #map { width: @maxwidth; height: 400px; } #flashes { position: absolute; top: 0; left: 0; right: 0; padding: 5px 10px; text-align: center; background: yellow; color: black; } a.admin { position: absolute; top: 0; right: 0; margin: 0; font-size: 13px; font-weight: bold; display: inline-block; padding: .125em 1em; text-align: center; background: white; color: black; }