@charset "utf-8";
/* updated: 180307 0 */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font-size:100%/1.4; vertical-align:baseline; }
html, body { line-height:1.4em; color:#3d3b49; font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height:100%;}
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body { height: 100%; background-color:#fff; font: 100%/1.4 'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif; color: #3d3b49; text-rendering: optimizeLegibility; font-feature-settings: "kern"; -webkit-font-feature-settings: "kern"; -moz-font-feature-settings: "kern"; -moz-font-feature-settings: "kern=1"; font-kerning: normal; }
a { text-decoration: none; background-color: transparent; color: #d3002d; }
img, object, svg, video { max-width: 100%; }
svg { height:100%; }
input:not([type=checkbox]):not([type=radio]) { -webkit-appearance: none; -webkit-border-radius:0; border-radius:0; }


/* header begin */
#skiptocontent { position: relative; z-index: 2; width: 100%; }
#skiptocontent a { display: block; padding: 6px 10px 13px; height: 41px; margin-top: -41px; outline: none; cursor: pointer; background: #fff; -webkit-transition: margin .3s ease-in-out; transition: margin .3s ease-in-out; }
#skiptocontent .skiplink { border-bottom: 1px solid #c9c9c9; }
#skiptocontent a:focus { margin-top: 0px; -webkit-transition: margin .3s ease-in; transition: margin .3s ease-in; }

header { display:block; }
.branding-bar { display:inline-block; position: relative; top: 0; left: 0; width: 100%; height: 44px; z-index: 1; background-color: #d3002d; }
.branding-bar .logo { display: inline-block; margin: 11px 0 0 0; height: 22px; background: none; }

@media (min-width:540px) {
  .branding-bar { height: 52px; }
  .branding-bar .logo { margin: 13px 0 0 0; height: 26px; }
}


/* text begin */
article h1 { font-size: 2.5rem; line-height: 1.2em; font-weight: 500; }
article h2 { font-size: 0.875rem; line-height: 1.5714em; font-weight: 500; }
article h3 { font-size: 1.25rem; line-height: 1.2em; font-weight: 600; }
article p { font-size: 1rem; line-height: 1.625em; }
article ul { list-style: none; font-size: 0.875rem; line-height: 1.5714em; margin: 0; }
article ul li { font-size: 0.875rem; line-height: 1.5714em; margin: 0 0 20px 0; padding-left: 16px; position: relative; }
article ul li:before { content: ""; display: block; position: absolute; top: 4px; left: 0; width: 3px; height: 100%; height: calc(100% - 6px); background: #00adad; }
article a:hover { text-decoration: underline; }
article blockquote { font-size: 1.5rem; line-height: 1.2em; font-weight: 500; margin-top: 1.5rem; text-indent: -.4em; }


/* headline begin */
.headline { position: relative; height: 100%; background-size: cover; }
.headline > .page-width { padding-top: 36px; }
.headline h1 { margin-bottom: 24px; }
.headline p { margin-bottom: 24px; font-size: 1.25rem; line-height: 1.4em; }

.headline .confirmation-message { display: none; }

@media (min-width:540px) {
  .headline > .page-width { padding-top: 66px; }
}


/* form begin */

/* Marketo Form CSS Overwrite */
.mktoForm {
  padding: 0 !important;
  width: 100% !important;
}
.mktoForm .email-address {
  font-size: 1.25rem;
  line-height: 1.4em;
}
.mktoForm .email-address * {
  padding: 0;
}
.mktoForm fieldset {
  padding: 0 !important;
  margin: 34px 0 0 0 !important;
}
.mktoForm fieldset legend {
  display: block;
  margin: 0 !important;
  padding: 32px 0 14px;
  width: 100%;
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  border-top: 1px solid #eee;
}
.mktoForm fieldset .mktoFormRow {
  padding: 18px 0 14px;
  border-bottom: 1px solid #eee;
}
.mktoForm fieldset .mktoFormRow:nth-of-type(1) {
  border-top: 1px solid #eee;
}
.mktoForm fieldset .mktoFormRow .mktoFieldDescriptor {
  margin: 0 !important;
}
.mktoForm .mktoHtmlText {
  font-weight:normal !important;
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 0.75rem;
  line-height: 1.5em !important;
  color: #3D3B49;
  width: 100% !important;
}
.mktoForm .mktoHtmlText a {
  padding: 0 !important;
  white-space: nowrap;
}
.mktoForm label.mktoLabel {
  display: block;
  padding: 0 !important;
  margin-bottom: 4px;
  float: none !important;
  font-weight:normal !important;
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 0.625rem;
  line-height: 1.5em !important;
  color: #b7b7b7;
}
.mktoForm .mktoRadioList,
.mktoForm .mktoCheckboxList {
  padding: 0 !important;
}
.mktoForm .mktoRadioList > label {
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 1rem;
  line-height: 1.4em !important;
  font-weight: 500 !important;
  color: #3D3B49;
  margin: 0 0 12px 32px !important;
}
.mktoForm .mktoCheckboxList {
  padding: 0 !important;
  width: auto !important;
}
.mktoForm .mktoCheckboxList > label {
  margin: 0 !important;
}
.mktoForm fieldset .mktoFieldWrap > label {
  display: inline-block;
  width: 80% !important;
  width: calc(100% - 32px) !important;
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 1rem;
  line-height: 1.4em !important;
  font-weight: 500 !important;
  color: #3D3B49;
  margin: 0 0 0 16px !important;
}
.mktoForm .mktoRadioList label .small {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5em;
  font-weight: normal !important;
}
.mktoForm .mktoRadioList label .small * {
  padding: 0;
}
.mktoForm input[type=text],
.mktoForm input[type=url],
.mktoForm input[type=email],
.mktoForm input[type=tel],
.mktoForm input[type=number],
.mktoForm input[type=date],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
  width:100% !important;
  font-family:'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale !important;
  font-size: 0.75rem !important;
  line-height: 1.4em !important;
  margin: 0 0 4px !important;
  padding: 19px 16px 19px !important;
  border: .5px solid #b7b7b7 !important;
  height: auto !important;
  border-radius: 2px;
  color: #3d3b49;
  white-space: normal;
  background: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.mktoForm input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 3px 0 !important;
  padding: 0 !important;
  width: 16px;
  height: 16px;
  border: 1px solid #b7b7b7;
  border-radius: 2px;
}
.mktoForm input[type=checkbox]:focus {
  outline: none;
}
.mktoForm input[type=checkbox]:checked {
  border: 0;
  background: #018C8C url(https://cdn.oreillystatic.com/images/icons/form_check_10x8.png) center center no-repeat;
}
.mktoForm input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 3px 0 !important;
  padding: 0 !important;
  width: 16px;
  height: 16px;
  border: 1px solid #b7b7b7;
  border-radius: 50%;
}
.mktoForm input[type=radio]:focus {
  outline: none;
}
.mktoForm input[type=radio]:checked {
  border: 0;
  background: #018C8C url(https://cdn.oreillystatic.com/images/icons/form_radio_8x8.png) center center no-repeat;
}
.mktoForm .mktoRequiredField .mktoLabel .mktoAsterix {
  display: none;
}
.mktoFormCol,
.mktoFieldWrap {
  width: 100% !important;
  float: none !important;
}
.mktoForm .mktoOffset {
  float: left;
  height: 0 !important;
  width: 10px;
}
.mktoForm.mktoLayoutAbove .mktoRadioList, .mktoForm.mktoLayoutAbove .mktoCheckboxList {
  width: auto !important;
  float: left !important;
  clear: none !important;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
  font-family: 'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  display: block;
  margin: 30px auto 0;
  padding: 19px 30px !important;
  border:0 !important;
  border-radius: 2px !important;
  font-size: 0.875rem !important;
  line-height: 1.2em;
  font-weight: 700;
  color: #fff !important;
  white-space: normal;
  background: #d3002d !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
  background: #9f0027 !important;
  cursor: pointer;
}

@media (min-width:540px) {
  .mktoForm fieldset .mktoFormRow {
    float: left;
    width: 50%;
    width: calc(50% - 12px);
    clear: none;
  }
  .mktoForm fieldset .mktoFormRow:nth-of-type(even) {
    float: right;
  }
  .mktoForm fieldset .mktoFormRow:nth-of-type(2) {
    border-top: 1px solid #eee;
  }
}


/* footer begin */
footer { clear: both; display: block; padding: 20px 0 74px; }

footer:after { content: ""; display: table; clear: both }
footer p { color: #979797; font-size: 0.75rem; }
footer a { text-decoration: none; cursor: pointer; color: #979797; }
footer a:hover { text-decoration: underline; }
@media (min-width:540px) {
  footer { padding: 20px 0 20px; }
}


/* utility begin */
.page-width { width: 100%; max-width: 888px; padding-left: 16px; padding-right: 16px; margin-left: auto; margin-right: auto; }
.nowrap { white-space: nowrap; }
.hide { display: none!important; visibility: hidden!important; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; overflow: hidden; position: absolute !important; }
noscript p.js-message { color: #3d3b49; font-weight: bold; }

@media (min-width:540px) {
  .page-width { padding-left: 24px; padding-right: 24px; }
}