* {
  padding: 0;
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  word-break: normal; }

img,
fieldset {
  border: 0; }

abbr {
  text-decoration: none; }

code {
  line-height: 1em; }

pre {
  overflow: auto;
  word-wrap: normal;
  tab-size: 4; }

sub,
sup {
  line-height: 0.5em; }

img {
  max-width: 100%;
  height: auto; }

iframe,
video,
embed,
object {
  display: block;
  max-width: 100%; }

img,
.left,
.right,
.center {
  display: block; }

.center {
  float: none;
  text-align: center;
  margin-right: auto;
  margin-left: auto; }

button,
input[type=submit] {
  cursor: pointer;
  overflow: visible; }

body {
  font-family: "Averia Serif Libre", serif;
  font-size: 18px;
  line-height: 30px;
  color: #111111;
  background-color: white;
  overflow-x: hidden; }

h1 {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 37px;
  line-height: 57px;
  font-weight: bold;
  margin-bottom: 30px; }

h2 {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 29px;
  line-height: 46px;
  font-weight: bold;
  margin-top: 49px;
  margin-bottom: 30px; }

h3 {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 23px;
  line-height: 37px;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 19px; }

h4 {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 18px;
  line-height: 30px;
  font-weight: bold;
  margin-bottom: 12px; }

h1 + h2,
h2 + h3,
h1:first-child,
h2:first-child,
h3:first-child {
  margin-top: 0; }

a {
  color: #d42020;
  text-decoration: none; }
  p a,
  .page-content a {
    text-decoration: underline; }
    p a.button,
    .page-content a.button {
      text-decoration: none; }


ul,
ol {
  margin-left: 30px; }

ul ul,
ul ol,
ol ul,
ol ol {
  margin-top: 12px;
  margin-bottom: 0;
  margin-left: 19px; }

li {
  margin-bottom: 12px; }
  li:last-child {
    margin-bottom: 0; }

blockquote {
  background-color: #f7edd4;
  padding: 19px;
  border-radius: 0 12px 12px 0;
  border-left: 7px solid rgba(0, 0, 0, 0.1); }
  blockquote > :last-child {
    margin-bottom: 0; }

sub,
sup {
  color: rgba(0, 0, 0, 0.55); }

code,
pre,
kbd {
  font-family: Menlo, Consolas, Monaco, "Andale Mono", Courier, Verdana, sans-serif;
  font-size: 16px; }

code {
  background-color: rgba(0, 0, 0, 0.08);
  padding: 4px;
  border-radius: 7px;
  margin: 0 1px; }
  strong code {
    font-weight: normal; }

pre {
  background-color: #edf1ff;
  padding: 19px;
  border-radius: 0 12px 12px 0;
  border-left: 7px solid rgba(0, 0, 0, 0.1); }

kbd {
  font-size: 14px;
  color: #4e4e4e;
  background-color: #f7f7f7;
  padding: 4px 7px;
  border: 1px solid #cccccc;
  border-radius: 7px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #fafafa inset, 0 0 0 1px white inset;
  margin: 0 1px; }

svg {
  width: 18px;
  height: 18px;
  vertical-align: text-bottom; }

.drop-cap {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 60px;
  line-height: 1em;
  font-weight: bold;
  margin-right: 7px;
  float: left; }

.small {
  font-size: 14px;
  line-height: 24px;
  color: rgba(0, 0, 0, 0.55); }

.callout {
  color: #111111;
  background-color: #cce8cc;
  padding: 19px; }
  .callout.alert {
    color: #111111;
    background-color: #ffe91f; }
  .callout.note {
    color: #111111;
    background-color: #ccf1ff; }
  .callout > :last-child {
    margin-bottom: 0; }

.highlight {
  background-color: #fffb7a;
  padding: 4px 0; }

.impact {
  font-size: 23px;
  line-height: 38px; }

.pop {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.4); }

.caption {
  font-size: 14px;
  line-height: 24px;
  color: rgba(0, 0, 0, 0.55);
  margin-top: -26px; }
  .caption code {
    font-size: 13px; }
  .center + .caption {
    text-align: center; }
  blockquote + .caption {
    padding-left: 26px; }
  h1 + .caption,
  h2 + .caption {
    margin-top: -27.5px; }
  h3 + .caption {
    margin-top: -17.5px;
    margin-bottom: 19px; }

p,
ul,
ol,
blockquote,
pre,
img,
.callout,
.caption {
  margin-bottom: 30px; }

@media all and (min-width: 682px) {
  body:not(.has-sidebar) h1 {
      font-size: 47px;
      line-height: 71px; }
    body:not(.has-sidebar) h2 {
      font-size: 37px;
      line-height: 57px; }
    body:not(.has-sidebar) h3 {
      font-size: 29px;
      line-height: 46px; }
    body:not(.has-sidebar) h4 {
      font-size: 23px;
      line-height: 37px; }
    body:not(.has-sidebar) h1 + .caption,
    body:not(.has-sidebar) h2 + .caption {
      margin-top: -26px; }
    body:not(.has-sidebar) h3 + .caption {
      margin-top: -16px; }

  .impact {
    font-size: 29px;
    line-height: 46px; }

  .left:not(.bar) {
    float: left;
    clear: both;
    margin-right: 30px; }

  .right:not(.bar) {
    float: right;
    clear: both;
    margin-left: 30px; } }

    .grt .headline-area .page-title {
      font-family: "Averia Sans Libre", sans-serif; }
  .grt .byline {
    font-size: 14px;
    line-height: 24px;
    color: rgba(0, 0, 0, 0.55);
    margin-bottom: 30px; }
      .grt .byline .page-author:after,
      .grt .byline .page-date:after,
      .grt .byline .page-edit:after {
        display: block;
        height: 0;
        content: '\a';
        white-space: pre; }
    .grt .byline .avatar {
      width: 48px;
      height: 48px; }
  .grt .author-description {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 30px; }
    .grt .author-description .avatar {
      float: left;
      width: 90px;
      height: 90px;
      margin-right: 19px; }
  .grt .author-description-intro {
    font-weight: bold; }
  .grt .page-container + .page-container {
    margin-top: 49px; }
    .grt .page-content > :last-child {
      margin-bottom: 0; }
  .grt .page-list {
    margin-bottom: 0; }

  @media all and (min-width: 421px) {
    .grt .byline .page-author:after,
        .grt .byline .page-date:after {
          display: none; }
        .grt .byline .page-author ~ .page-date-intro:before,
        .grt .byline .page-date-intro ~ .page-date-intro:before,
        .grt .byline .page-author ~ .page-edit:before,
        .grt .byline .page-date ~ .page-edit:before {
          color: rgba(0, 0, 0, 0.55);
          content: '\2022\0020'; } }
  @media all and (min-width: 682px) {
    .grt .headline-area {
      position: relative; } }

.grt .page-title:has(+.byline) {
  margin-bottom: 0; }

label {
  display: block;
  font-weight: bold; }
  label .required {
    font-weight: normal;
    color: #dd0000; }

input,
textarea,
select {
  display: block;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: 1em;
  font-weight: inherit;
  padding: 7px;
  border: 1px solid rgba(0, 0, 0, 0.1); }

input[type=checkbox],
input[type=radio],
input[type=image],
input[type=submit],
select {
  width: auto; }

input[type=checkbox],
input[type=radio] {
  display: inline-block; }
  input[type=checkbox] + label,
  input[type=radio] + label {
    display: inline;
    font-weight: normal;
    margin-left: 4px;
    user-select: none; }

textarea {
  line-height: inherit;
  padding: 7px;
  border: 1px solid rgba(0, 0, 0, 0.1); }

select {
  border: 1px solid rgba(0, 0, 0, 0.1); }

button,
input[type=submit],
.button {
  display: inline-block;
  width: auto;
  font-family: inherit;
  font-size: inherit;
  font-weight: normal;
  line-height: 1em;
  vertical-align: top;
  color: #111111;
  text-decoration: none;
  background-color: #ffebb3;
  padding: 12px 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom-width: 4px;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-radius: 12px;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: -1px;
  cursor: pointer;
  user-select: none; }
  button:hover,
  input[type=submit]:hover,
  .button:hover,
  button:active,
  input[type=submit]:active,
  .button:active {
    text-decoration: none;
    background-color: #fff5d9;
    transition: background-color 0.3s ease; }
  button:active,
  input[type=submit]:active,
  .button:active {
    border-bottom-width: 2px;
    margin-top: 2px; }

  button.save,
  .button.save {
    color: white;
    background-color: #509b26; }
    button.save:hover,
    .button.save:hover,
    button.save:active,
    .button.save:active {
      background-color: #60ba2e; }
  button.delete,
  .button.delete {
    color: white;
    background-color: #d50b0b; }
    button.delete:hover,
    .button.delete:hover,
    button.delete:active,
    .button.delete:active {
      background-color: #f31313; }
  button.action,
  .button.action {
    color: white;
    background-color: #12a7ff; }
    button.action:hover,
    .button.action:hover,
    button.action:active,
    .button.action:active {
      background-color: #38b5ff; }
  button.update,
  .button.update {
    color: #111111;
    background-color: #fcfc0d; }
    button.update:hover,
    .button.update:hover,
    button.update:active,
    .button.update:active {
      background-color: #fcfc33; }
  button svg,
  .button svg {
    vertical-align: inherit; }

#header {
  color: #111111;
  background-color: #cc99ff;
  padding-top: 30px;
  padding-bottom: 30px; }

  #nav {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

#content {
  word-break: break-word;
  color: #111111;
  background-color: white;
  padding-top: 30px;
  padding-bottom: 30px; }

#footer {
  padding-top: 19px;
  padding-bottom: 19px;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

.container {
  box-sizing: border-box;
  padding-left: 19px;
  padding-right: 19px; }
  @media all and (min-width: 682px) {
    .container {
  max-width: 644px;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto; } }
  @media all and (min-width: 704px) {
    .container {
  max-width: 100%;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: 0;
  margin-right: 0; } }
  @media all and (min-width: 1100px) {
    .container {
  max-width: 1040px;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto; } }

#site-title {
  font-family: "Averia Sans Libre", sans-serif;
  font-size: 37px;
  line-height: 57px;
  font-weight: bold; }
  #site-title a {
    color: inherit; }

.menu {
  list-style: none;
  margin-bottom: 0;
  margin-left: 0;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .menu::-webkit-scrollbar {
    display: none; }
  .menu li {
    margin-right: 30px;
    margin-bottom: 0; }
    .menu li:last-child {
      margin-right: 0; }
  .menu a {
    display: block;
    padding-top: 12px;
    padding-bottom: 12px; }
  .menu:before {
    content: '\2194';
    color: rgba(0, 0, 0, 0.55);
    margin-right: 30px; }
  @media all and (min-width: 682px) {
    .focus .menu {
      justify-content: center; }
    .menu:before {
      display: none; } }

  .bar {
    color: rgba(0, 0, 0, 0.55); }
  @media all and (min-width: 1100px) {
    .text .bar {
      width: 100%; }
      .text .bar code {
        font-size: 13px; }
      .readability .text .bar,
      .focus .text .bar {
        box-sizing: border-box;
        float: right;
        clear: right;
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 19px; }
      .readability .text .bar {
        max-width: 347px;
        margin-right: -396px; }
      .focus .text .bar {
        max-width: 168px;
        margin-right: -198px; }
        .focus .text .bar.left {
          float: left;
          clear: left;
          margin-left: -198px; } }

  .bleed {
    position: relative;
    width: 100vw;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 49px;
    margin-bottom: 49px;
    margin-left: -19px; }
  .bleed + .bleed {
    margin-top: -49px; }
  .text:first-child > .page-content:first-child > .bleed:first-child {
    border-top: 0;
    margin-top: -30px; }
  .page-content:last-child .bleed:last-child {
    border-bottom: 0;
    margin-bottom: -30px; }

  @media all and (min-width: 682px) {
    .bleed {
    margin-left: calc(calc(644px - 100vw) / 2); } }
  @media all and (min-width: 704px) {
    .bleed {
    margin-left: -30px; } }
  @media all and (min-width: 1100px) {
    .bleed {
    margin-left: calc(calc(1040px - 100vw) / 2); } }
  .focus .bleed {
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw; }
  .bleed .container {
    padding-top: 30px;
    padding-bottom: 30px; }
  .bleed pre {
    background-color: rgba(0, 0, 0, 0.1); }
  .bleed.no-border {
    border-top: none; }
  .bleed.red {
    background-color: #ffcccc; }
    .bleed.red blockquote,
    .bleed.red .page-content > .small,
    .bleed.red .caption,
    .bleed.red .bar {
      color: maroon; }
  .bleed.salmon {
    background-color: #ffddcc; }
    .bleed.salmon blockquote,
    .bleed.salmon .page-content > .small,
    .bleed.salmon .caption,
    .bleed.salmon .bar {
      color: #802b00; }
  .bleed.orange {
    background-color: #ffeecc; }
    .bleed.orange blockquote,
    .bleed.orange .page-content > .small,
    .bleed.orange .caption,
    .bleed.orange .bar {
      color: #805500; }
  .bleed.yellow {
    background-color: #ffffcc; }
    .bleed.yellow blockquote,
    .bleed.yellow .page-content > .small,
    .bleed.yellow .caption,
    .bleed.yellow .bar {
      color: olive; }
  .bleed.chartreuse {
    background-color: #eeffcc; }
    .bleed.chartreuse blockquote,
    .bleed.chartreuse .page-content > .small,
    .bleed.chartreuse .caption,
    .bleed.chartreuse .bar {
      color: #558000; }
  .bleed.lime {
    background-color: #ddffcc; }
    .bleed.lime blockquote,
    .bleed.lime .page-content > .small,
    .bleed.lime .caption,
    .bleed.lime .bar {
      color: #2a8000; }
  .bleed.green {
    background-color: #ccffcc; }
    .bleed.green blockquote,
    .bleed.green .page-content > .small,
    .bleed.green .caption,
    .bleed.green .bar {
      color: green; }
  .bleed.aquamarine {
    background-color: #ccffdd; }
    .bleed.aquamarine blockquote,
    .bleed.aquamarine .page-content > .small,
    .bleed.aquamarine .caption,
    .bleed.aquamarine .bar {
      color: #00802b; }
  .bleed.turquoise {
    background-color: #ccffee; }
    .bleed.turquoise blockquote,
    .bleed.turquoise .page-content > .small,
    .bleed.turquoise .caption,
    .bleed.turquoise .bar {
      color: #008055; }
  .bleed.cyan {
    background-color: #ccffff; }
    .bleed.cyan blockquote,
    .bleed.cyan .page-content > .small,
    .bleed.cyan .caption,
    .bleed.cyan .bar {
      color: teal; }
  .bleed.blue {
    background-color: #cceeff; }
    .bleed.blue blockquote,
    .bleed.blue .page-content > .small,
    .bleed.blue .caption,
    .bleed.blue .bar {
      color: #005580; }
  .bleed.steel {
    background-color: #ccddff; }
    .bleed.steel blockquote,
    .bleed.steel .page-content > .small,
    .bleed.steel .caption,
    .bleed.steel .bar {
      color: #002a80; }
  .bleed.lavender {
    background-color: #ccccff; }
    .bleed.lavender blockquote,
    .bleed.lavender .page-content > .small,
    .bleed.lavender .caption,
    .bleed.lavender .bar {
      color: navy; }
  .bleed.purple {
    background-color: #ddccff; }
    .bleed.purple blockquote,
    .bleed.purple .page-content > .small,
    .bleed.purple .caption,
    .bleed.purple .bar {
      color: #2b0080; }
  .bleed.orchid {
    background-color: #eeccff; }
    .bleed.orchid blockquote,
    .bleed.orchid .page-content > .small,
    .bleed.orchid .caption,
    .bleed.orchid .bar {
      color: #550080; }
  .bleed.magenta {
    background-color: #ffccff; }
    .bleed.magenta blockquote,
    .bleed.magenta .page-content > .small,
    .bleed.magenta .caption,
    .bleed.magenta .bar {
      color: purple; }
  .bleed.pink {
    background-color: #ffccee; }
    .bleed.pink blockquote,
    .bleed.pink .page-content > .small,
    .bleed.pink .caption,
    .bleed.pink .bar {
      color: #800055; }
  .bleed.rose {
    background-color: #ffccdd; }
    .bleed.rose blockquote,
    .bleed.rose .page-content > .small,
    .bleed.rose .caption,
    .bleed.rose .bar {
      color: #80002a; }

.bleed:has(+.bleed) {
  border-bottom: 0; }

      .readability .text .byline .avatar {
        float: right;
        margin-left: 19px;
        margin-bottom: 0; }
      .focus .text .byline .avatar {
        margin-bottom: 7px; }
      @media all and (min-width: 682px) {
        .readability .text .byline .avatar {
          float: left;
          margin-left: 0;
          margin-right: 19px; }
        .focus .text .byline .avatar {
          margin-bottom: 12px; } }
    .focus .text .breakout {
      margin-left: auto;
      margin-right: auto; }
    .text .breakout.left {
      float: none;
      margin-left: 0;
      margin-right: 0; }
    .text .pullout.left {
      float: none;
      margin-right: 0; }

@media all and (min-width: 704px) {
  .readability .text,
    .focus .text {
      max-width: 644px; }
      .readability .text .extend,
      .focus .text .extend {
        box-sizing: border-box;
        max-width: calc(100vw - 60px); }
      .readability .text .headline-area,
      .readability .text .page-content > h1,
      .readability .text .page-content > h2,
      .readability .text .page-content > h3,
      .readability .text .page-content > h4,
      .readability .text .page-content > .impact,
      .readability .text .extend,
      .readability .text .extend + .caption {
        margin-right: calc(704px - 100vw); }
    .focus .text {
      margin-left: auto;
      margin-right: auto; }
      .focus .text .headline-area,
      .focus .text .page-content > h1,
      .focus .text .page-content > h2,
      .focus .text .page-content > h3,
      .focus .text .page-content > .impact,
      .focus .text .extend,
      .focus .text .extend + .caption {
        margin-left: calc(352px - (100vw / 2));
        margin-right: calc(352px - (100vw / 2)); }
        .focus .text .extend.right {
          margin-left: 30px; }
        .focus .text .extend.left {
          margin-right: 30px; } }

@media all and (min-width: 1100px) {
  .readability .text .pullout,
      .focus .text .pullout {
        float: right;
        box-sizing: border-box; }
      .readability .text .extend,
      .focus .text .extend {
        max-width: 1040px; }
        .readability .text .extend .pullout,
        .focus .text .extend .pullout {
          float: none;
          max-width: 100%; }
      .readability .text .headline-area,
      .readability .text .page-content > h1,
      .readability .text .page-content > h2,
      .readability .text .page-content > h3,
      .readability .text .page-content > h4,
      .readability .text .page-content > .impact,
      .readability .text .extend,
      .readability .text .extend + .caption {
        margin-right: -396px; }
      .readability .text .breakout {
        max-width: calc(703px + (100vw - 1040px) / 2);
        margin-right: calc(-396px - (100vw - 1040px) / 2); }
      .readability .text .pullout {
        max-width: calc(100vw - (100vw - 1040px) / 2 - 693px);
        margin-right: calc(-396px - (100vw - 1040px) / 2); }
        .readability .text .extend .pullout {
          margin-left: 0;
          margin-right: 0; }
      .focus .text .headline-area,
      .focus .text .page-content > h1,
      .focus .text .page-content > h2,
      .focus .text .page-content > h3,
      .focus .text .page-content > .impact,
      .focus .text .extend,
      .focus .text .extend + .caption {
        margin-left: -198px;
        margin-right: -198px; }
      .focus .text .breakout {
        max-width: calc(505px + (100vw - 1040px) / 2);
        margin-left: 30px;
        margin-right: calc(322px - (100vw / 2)); }
        .focus .text .breakout.left {
          margin-left: calc(322px - (100vw / 2));
          margin-right: 30px; }
      .focus .text .pullout {
        max-width: calc(100vw - (100vw - 1040px) / 2 - 872px);
        margin-right: calc(-198px - (100vw - 1040px) / 2); }
        .focus .text .pullout.left {
          float: left;
          margin-left: calc(-198px - (100vw - 1040px) / 2);
          margin-right: 0; }
        .focus .text .extend .pullout {
          margin-left: auto;
          margin-right: auto; }
    .text .breakout,
    .text .extend .breakout {
      float: right;
      box-sizing: border-box;
      max-width: calc(505px + (100vw - 1040px) / 2);
      margin-left: 30px;
      margin-right: calc((1040px - 100vw) / 2); }
      .text .breakout.left,
      .text .extend .breakout.left {
        float: left;
        margin-left: calc((1040px - 100vw) / 2);
        margin-right: 30px; }
      .has-sidebar .text .breakout,
      .has-sidebar .text .extend .breakout {
        float: none;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0; } }

    .focus #header,
    .focus #nav,
    .focus #nav-secondary,
    .focus #footer {
      text-align: center; }
      .focus #header-image,
      .focus #logo {
        margin-left: auto;
        margin-right: auto; }

      .focus .text .headline-area,
      .focus .text .featured-image-wrap,
      .focus .text .page-content h1,
      .focus .text h2,
      .focus .text h3,
      .focus .text h1 + .caption,
      .focus .text h2 + .caption,
      .focus .text h3 + .caption,
      .focus .text .impact,
      .focus .text .extend + .caption,
      .focus .text .extend .caption {
        text-align: center; }
        .focus .text .byline .avatar {
          margin-left: auto;
          margin-right: auto; }

