@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; } body { background: #eee; font: 16px/1.375 Roboto,sans-serif; color: var(--text-color); display: flex; flex-direction: column; min-height: 100vh; } body > * { flex: none; width: 100%; padding: 0 calc(50% - 32.5em); } input, textarea { padding: 2px 5px; color: var(--text-color); margin-bottom: 1em; } 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 { 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 { margin-bottom: 1em; padding-top: 2em; padding-bottom: 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: #555; } nav ul { padding-left: 0; margin-left: 0; } nav ul:after { content: ''; display: block; clear: both; } nav li { display: block; float: left; width: 25%; } nav li + li { padding-left: 2px; } nav 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 a:hover, nav a:focus, nav a.active { background: var(--color-red); color: #fff; } main { flex: 1 0 auto; display: flex; flex-direction: row; position: relative; background: white; border-top: 2px var(--color-red) solid; padding: 2em calc(50% - 32.5em - 1em); } article, aside { margin: 2em 0; padding-left: 1em; padding-right: 1em; } article { flex: 1 1 45em; } aside { 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 { padding: 20px 0; text-align: center; font-size: .8em; color: #666; } footer 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) { body > * { padding-left: calc(50% - 31em); padding-right: calc(50% - 31em); } header .h1 { font-size: 2.8em; } } @media (max-width: 63em) { body, main { display: block; } body > * { padding-left: 1em; padding-right: 1em; } main { padding-left: 0; padding-right: 0; } header { padding-top: 1em; } header .h1 { font-size: 1.5em; } header .h2 { font-size: 1.3em; } header svg { width: 3em; height: 3em; float: left; } nav li { width: 100%; } nav li + li { padding-left: 0; } img.left { float: none; margin-right: 0; } img.right { float: none; margin-left: 0; } }