@import "font.css"; :root { --text-color: #333; --color-red: hsl(2, 45%, 41%); --color-red-hover: hsl(2, 45%, 30%); --color-gray-dark: #4c4d51; } * { margin: 0; padding: 0; } *, *:before, *:after { box-sizing: border-box; } /* needed for full background when viewing .xml directly in firefox */ html, body { height: 100%; } body { background: #eee; font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.35; color: var(--text-color); display: flex; flex-direction: column; min-height: 100vh; } header, footer { position: relative; } header:before, footer:before { position: absolute; } body > * { flex: none; } body > .outer { flex: 1 0 auto; } form { } input, textarea { padding: 2px 5px; color: var(--text-color); margin-bottom: 15px; } textarea { width: 100%; } h2, h3 { margin-top: 1.5em; } h1 { font-size: 2em; font-weight: 500; margin-bottom: 0.67em; } h2 { font-size: 1.5em; font-weight: 500; margin-bottom: 0.75em; } h3 { font-size: 1.2em; font-weight: bold; margin-bottom: 0.80em; } p, ul, ol { margin-bottom: 1em; } ul, ol { margin-left: 1.2em; } blockquote { margin-left: 3em; margin-right: 3em; } a { color: var(--color-red); text-decoration: none; } a:hover, a:focus { text-decoration: none; color: var(--color-red-hover); } a img { border: none; } img.left { float: left; margin: 5px 2em 0 0; } img.right { float: right; margin: 5px 0px 2em 2em; } label { display: inline-block; margin-left: 20px; min-width: 90px; } header, nav, main, footer { width: 65em; max-width: 65em; margin: 0 auto; } header { margin-bottom: 1em; padding: 2em 0 0.5em; } header .h1, header .h2 { margin: 0; letter-spacing: -0.025em; font-weight: normal; } header svg { position: relative; bottom: -7px; margin-right: 1em; width: 3.5em; height: 3.5em; } header .h1 { display: inline; font-size: 3em; color: #444; } header .h2 { display: inline; padding-left: .5em; font-size: 1.5em; color: #858585; } nav > ul:after { content: ''; display: block; clear: both; } .outer { background: white; border-top: 2px var(--color-red) solid; padding: 2em 0; } nav > ul { padding-left: 0; margin-left: 0; } nav > ul > li { display: block; float: left; width: 20%; } nav > ul > li + li { padding-left: 2px; } nav > ul > li a { display: inline-block; padding: .7em 1.5em; background: var(--color-gray-dark); text-decoration: none; text-transform: uppercase; font-weight: bold; color: #fff; letter-spacing: 0.05em; width: 100%; text-align: center; } nav > ul a:hover, nav > ul a:focus, nav > ul a.active { background: var(--color-red); color: #fff; } main { display: flex; flex-direction: row; } article, aside { margin: 2em 0; } article { flex: 1 1 45em; padding-right: 1em; } aside { padding-left: 1em; flex: 1 1 18em; } .redbox, a.redbox:hover { display: inline-block; text-decoration: none; width: 100%; padding: 1em; margin-top: .5em; margin-bottom: 1em; background: var(--color-red); border: 2px solid rgba(0,0,0,.02); color: white; } article h1 { color: var(--color-red); } article .intro { font-size: 1.1em; margin: 10px 0; } footer { margin: 0 auto; padding: 20px 0; text-align: center; } footer p { margin: 0; font-size: .8em; color: #666; } footer p a { color: inherit; } .logos { background: white; text-align: center; } .logos img { vertical-align: middle; margin: 1.5em 3em; } .social-icon { width: auto; height: 2em; } .info:after { content: '*'; display: inline; } .small { font-size: 0.875em; color: #555; } @media (max-width: 75em) { header, nav, main, footer { width: 62em; max-width: 62em; } header .h1 { font-size: 2.8em; } } @media (max-width: 63em) { body, main { display: block; } body { /* For google pagespeed */ line-height: 1.4; } header, nav, main, footer { width: 100%; max-width: 100%; padding-left: 1em; padding-right: 1em; } header { padding-top: 1em; } header .h1 { font-size: 1.5em; } header .h2 { font-size: 1.3em; } header svg { width: 3em; height: 3em; float: left; } aside { padding-left: 0; } nav > ul > li { float: none; width: 100%; } nav > ul > li + li { padding-left: 0; } img.left { float: none; margin-right: 0; } img.right { float: none; margin-left: 0; } }