@charset "UTF-8";
html { box-sizing: border-box; }

*, *::after, *::before { box-sizing: inherit; }

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove default margin. */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background-color: transparent; }

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }

/* Text-level semantics ========================================================================== */
/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari and Chrome. */
dfn { font-style: italic; }

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9/10. */
img { border: 0; }

/** Correct overflow not hidden in IE 9/10/11. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

/** Address differences between Firefox and other browsers. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
button, select { text-transform: none; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input { line-height: normal; }

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

/* Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

* { box-sizing: border-box; }

body { background-color: #ffffff; }

.page-content { padding: 0 20px; }

.lt-ie9 * { filter: none !important; }

.grid-box { max-width: 68em; margin-left: auto; margin-right: auto; max-width: 960px; }
.grid-box::after { clear: both; content: ""; display: table; }
@media screen and (min-width: 600px) { .grid-box .width-one-whole { float: left; display: block; margin-right: 2.35765%; width: 100%; }
  .grid-box .width-one-whole:last-child { margin-right: 0; }
  .grid-box .width-one-half { float: left; display: block; margin-right: 2.35765%; width: 48.82117%; }
  .grid-box .width-one-half:last-child { margin-right: 0; }
  .grid-box .width-one-third { float: left; display: block; margin-right: 2.35765%; width: 31.76157%; }
  .grid-box .width-one-third:last-child { margin-right: 0; }
  .grid-box .width-two-thirds { float: left; display: block; margin-right: 2.35765%; width: 65.88078%; }
  .grid-box .width-two-thirds:last-child { margin-right: 0; }
  .grid-box .width-one-fourth { float: left; display: block; margin-right: 2.35765%; width: 23.23176%; }
  .grid-box .width-one-fourth:last-child { margin-right: 0; }
  .grid-box .width-three-fourths { float: left; display: block; margin-right: 2.35765%; width: 74.41059%; }
  .grid-box .width-three-fourths:last-child { margin-right: 0; }
  .grid-box .width-one-sixth { float: left; display: block; margin-right: 2.35765%; width: 14.70196%; }
  .grid-box .width-one-sixth:last-child { margin-right: 0; }
  .grid-box .width-five-sixths { float: left; display: block; margin-right: 2.35765%; width: 82.94039%; }
  .grid-box .width-five-sixths:last-child { margin-right: 0; }
  .grid-box [class*="width"].grid-item-isolate { margin-left: auto; margin-right: auto; float: none; }
  .grid-box .end-row { margin-right: 0; }
  .grid-box .end-row + .grid-item { clear: left; } }

code { font-family: "Source Code Pro", "Courier New", "Courier", monospace; background-color: #eeeeee; font-size: .8em; padding: 0 .1em; }

html { font-family: "Gotham A", "Gotham B", "Helvetica", "Arial", sans-serif; font-size: 10px; }

body { font-size: 1.8rem; -webkit-font-smoothing: antialiased; }

p { font-size: 1.8rem; line-height: 1.7em; margin-top: 1em; margin-bottom: 1em; }

a { color: #000000; }
a:hover, a:active, a:visited { color: #000000; }

h1, h2, h3, h4, h5, h6 { clear: both; margin-top: 1em; margin-bottom: .5em; letter-spacing: -0.02em; line-height: 1.3em; }

h1, .h1 { font-size: 4.2rem; font-weight: 700; }

h2, .h2 { font-size: 2.8rem; font-weight: 700; }

h3, .h3 { font-size: 2.4rem; font-weight: 700; }

h4, .h4 { font-size: 1.8rem; font-weight: 700; }

h5, .h5 { font-size: 1.6rem; font-weight: 700; }

h6, .h6 { font-size: 1.4rem; font-weight: 700; }

.words-center, .words-center * { text-align: center; }

.words-underline { text-decoration: underline; }

ul, ol { margin: 0; padding: 0; list-style-type: none; }

article ul, article ol { padding-left: 2em; }
article ul li, article ol li { line-height: 1.7em; margin-top: 0.5em; margin-bottom: 0.5em; }
article ul { list-style-type: disc; }
article ol { list-style-type: decimal; }

table { margin: 2em 0; min-width: 100%; }
table thead th { text-align: left; }
table th, table td { border: 1px solid #212121; padding: .5em; }

aside { margin-left: auto; margin-right: auto; background-color: #eeeeee; padding: 1.5em 2em; margin-top: 2em; margin-bottom: 2em; }
@media screen and (min-width: 600px) { aside.width-one-half { width: 50%; } }
@media screen and (min-width: 600px) { aside.width-one-third { width: 33%; } }
@media screen and (min-width: 600px) { aside.width-two-thirds { width: 67%; } }
@media screen and (min-width: 600px) { aside.width-one-fourth { width: 25%; } }
@media screen and (min-width: 600px) { aside.width-three-fourths { width: 75%; } }
@media screen and (min-width: 600px) { aside.align-left { float: left; margin-top: .5em; margin-right: 2em; } }
@media screen and (min-width: 600px) { aside.align-right { float: right; margin-top: .5em; margin-left: 2em; } }
aside *:first-child { margin-top: 0; }
aside *:last-child { margin-bottom: 0; }

blockquote { padding: 0 2em; border-left: 10px solid #e0e0e0; }

figure { margin-left: auto; margin-right: auto; margin-top: 2em; margin-bottom: 2em; width: 100%; }
@media screen and (min-width: 600px) { figure.width-one-half { width: 50%; } }
@media screen and (min-width: 600px) { figure.width-one-third { width: 33%; } }
@media screen and (min-width: 600px) { figure.width-two-thirds { width: 67%; } }
@media screen and (min-width: 600px) { figure.width-one-fourth { width: 25%; } }
@media screen and (min-width: 600px) { figure.width-three-fourths { width: 75%; } }
@media screen and (min-width: 600px) { figure.align-left { float: left; margin-top: .5em; margin-right: 2em; } }
@media screen and (min-width: 600px) { figure.align-right { float: right; margin-top: .5em; margin-left: 2em; } }
figure img { max-width: 100%; }
figure figcaption { margin-top: 1em; font-size: 1.4rem; color: #616161; }

input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input[type="search"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], textarea { color: #000; box-sizing: border-box; -webkit-appearance: none; border: 1px solid #e0e0e0; border-radius: 4px; display: block; width: 100%; outline: none; font-size: 1.8rem; padding: 0 .7em; margin: .5em 0; height: 2em; }

input[type="checkbox"], input[type="radio"], input[type="checkbox"] { margin-top: .5em; margin-bottom: .5em; margin-right: .5em; }

input[type="button"], input[type="submit"], input[type="reset"], input[type="image"], button[type="button"], button[type="submit"], button[type="reset"] { -webkit-appearance: none; background-color: #e0e0e0; border: 0; border-radius: 4px; font-size: 1.8rem; text-align: center; width: 8em; margin-top: .5em; margin-bottom: .5em; margin-right: .5em; outline: none; padding: .5em .7em; }
input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="image"]:hover, button[type="button"]:hover, button[type="submit"]:hover, button[type="reset"]:hover { background-color: #bdbdbd; }

input[type="submit"]:disabled { color: #616161; }
input[type="submit"]:disabled:hover { background-color: #e0e0e0; }

label { display: block; font-weight: bold; margin-top: .5em; margin-bottom: .5em; }

.form-field { margin-bottom: 1em; }

.button { display: block; width: 100%; text-align: center; -webkit-appearance: none; background-color: #cf1b41; color: white; border: 0; border-radius: 4px; font-size: 1.8rem; font-weight: 700; text-decoration: none; margin-top: .5em; margin-bottom: .5em; margin-right: .5em; outline: none; padding: .5em .7em; }
@media screen and (min-width: 600px) { .button { display: inline-block; width: auto; text-align: left; } }
.button:hover { background-color: #aa1c3a; }

a.button { color: white; }

.section-slab { margin-left: -20px; margin-right: -20px; padding: 2em 20px; }
.section-slab h1, .section-slab h2, .section-slab h3, .section-slab h4, .section-slab h5, .section-slab h6, .section-slab .grid-box { max-width: 960px; margin-left: auto; margin-right: auto; }

.section-slab-color { margin-top: 1em; }

.section-slab-blue { background-color: #004b6a; }
.section-slab-blue, .section-slab-blue a { color: white; }

.section-slab-grey { margin-top: 2em; background-color: #444444; }
.section-slab-grey, .section-slab-grey a { color: white; }

.nav-breadcrumbs { margin: 1em 0; }

.nav-breadcrumbs-item { margin-right: .5em; }
.nav-breadcrumbs-item:not(:last-of-type):after { margin-left: .5em; content: '→'; }
.lt-ie9 .nav-breadcrumbs-item a { text-decoration: none; }
.lt-ie9 .nav-breadcrumbs-item a:after { margin-left: .5em; content: '→'; }

.header { padding-top: 2em; }
@media screen and (min-width: 600px) { .header { padding-top: 2em; } }

.header.header-reverse { padding-top: 0; }

.header-logo { display: inline-block; }
.header-logo img { width: 150px; height: auto; }
@media screen and (min-width: 600px) { .header-logo img { width: 200px; } }
.header-logo .logo-large { display: none; }
@media screen and (min-width: 600px) { .header-logo .logo-large { display: inherit; }
  .header-logo .logo-small { display: none; } }

.header .nav-item { margin-top: 1em; display: inline-block; }
.header .nav-item a { text-decoration: none; border-bottom: 3px solid #cf1b41; }
.header .nav-item a:hover { border-bottom-color: black; }
@media screen and (min-width: 600px) { .header .nav-item a { text-transform: uppercase; } }

@media screen and (min-width: 600px) { .header.header-reverse .nav-item a { border-bottom: 3px solid #fedd44; }
  .header.header-reverse .nav-item a:hover { border-bottom-color: white; } }

.nav-item { margin-right: 0.5em; }
.nav-item:last-of-type { margin-right: 0; }

img { max-width: 100%; }

.image-fill { width: 100%; height: auto; }

h1 { font-family: "Sentinel SSm A", "Sentinel SSm B", "Georgia", "Times New Roman", serif; font-weight: 700; letter-spacing: -0.03em; }

.words-serif { font-family: "Sentinel SSm A", "Sentinel SSm B", "Georgia", "Times New Roman", serif; font-weight: 700; letter-spacing: -0.03em; }

.words-title { font-size: 4.2rem; margin-top: 0.5em; margin-bottom: 0.2em; }
@media screen and (min-width: 600px) { .words-title { font-size: 7.14rem; line-height: 1.1em; } }

.words-quiet { color: #616161; font-size: 0.9em; margin-top: 0; margin-bottom: 0; }

p.words-quiet + p.words-quiet { margin-top: 0; }

.note { margin-top: 0.5em; margin-bottom: 0.5em; font-size: 0.8em; }
.note, .note a { color: #616161; }

.section-hero video { display: none; }
@media screen and (min-width: 600px) { .section-hero { position: relative; overflow: hidden; background-size: cover; background-position: center center; padding-top: 3em; padding-bottom: 5em; min-height: 95vh; }
  .section-hero, .section-hero a { color: white; font-weight: 700; text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5); }
  .section-hero a.button { text-shadow: none; }
  .section-hero .button { background-color: #fedd44; color: black; border: 2px solid #fedd44; }
  .section-hero .button:hover { background-color: white; border-color: white; color: black; }
  .section-hero .button-white { background-color: transparent; color: white; border: 2px solid white; }
  .section-hero video { display: block; background-image: url("/images/video-bg.jpg"); position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; z-index: -1; } }

@media screen and (min-width: 600px) { .section-hero .header { padding-top: 0; padding-bottom: 1em; } }

.step { border: 1px solid #e0e0e0; margin-top: 1em; }

.step-header { background-color: #399fd3; min-height: 10em; position: relative; }
.step-header img { width: 100px; height: 100px; display: block; position: absolute; margin-top: -50px; margin-left: -50px; left: 50%; top: 50%; }

.step-1 .step-header { background-color: #4298bb; }

.step-2 .step-header { background-color: #69579C; }

.step-3 .step-header { background-color: #00a175; }

.step-copy { padding: 0.5em 1em; }

.section-apply { background-color: #69579C; color: white; }
.section-apply a { color: white; }
.section-apply h1 { margin-top: 0.5em; }
.section-apply .grid-box + .grid-box { margin-top: 1em; }
.section-apply li + li { margin-top: 1em; }
.section-apply .button { background-color: transparent; color: white; border: 2px solid white; }
.section-apply .button:hover { background-color: white; border-color: white; color: black; }
@media screen and (min-width: 600px) { .section-apply { margin-left: 0.5em; margin-right: 0.5em; } }

@media screen and (min-width: 600px) { .judge-box { margin-top: 1em; } }
.judge-box img { width: 100%; height: auto; }

.judge-box p { font-size: 0.8em; }

a.box { text-decoration: none; transition: background-color 0.5s ease, color 0.5s ease; }
a.box:hover { color: white; background-color: #69579C; }
a.box:hover .box-logo { display: none; }
a.box:hover .box-logo-hover { display: block; }

.box { border: 1px solid #e0e0e0; margin-top: 1em; display: block; }

.box-header { width: 100%; height: 3em; background-color: #69579C; position: relative; margin-bottom: .5em; }
.box-header p { display: inline-block; line-height: 0; vertical-align: top; margin-left: 1em; color: white; text-transform: uppercase; margin-top: 2.2em; font-size: 0.7em; }
@media screen and (min-width: 600px) { .box-header p { margin-top: 1.85em; font-size: 0.8em; letter-spacing: 0.2em; } }
.box-header img { display: inline-block; width: 6em; margin-top: .6em; }

.box-logo, .box-logo-hover { height: 10em; width: 100%; position: relative; background-size: auto 80%; background-position: center center; background-repeat: no-repeat; }

.box-logo-hover { display: none; }

.box-copy { padding: 0.5em 1em; }

.page-judge h1 { margin-top: 0; }
.page-judge .judge-headshot { width: 100%; }

.page-winner h1 { margin-top: 0; }
@media screen and (min-width: 481px) { .page-winner .box-copy { padding: 2em; } }
.page-winner .winner-logo { width: 8em; display: block; margin: 1em auto; }
@media screen and (min-width: 481px) { .page-winner .winner-logo { width: auto; margin: 0; padding-right: 1em; } }
.page-winner img.winner-in-use { margin-top: 1em; }

.conflict-policy * { font-size: 1.5rem !important; }
