@charset "UTF-8";
/* The very latest clearfix needed: http://cssmojo.com/the-very-latest-clearfix-reloaded/ */
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

/* for supporting browsers, this is the standard way to clear floats in an element */
/* Some good discussion here: https://rachelandrew.co.uk/archives/2017/01/24/the-end-of-the-clearfix-hack/ (see comments) */
.clearfix {
  display: flow-root; }

[hidden] {
  display: none; }

.highlight {
  background-color: var(--yellow-highlight); }

.small {
  font-size: .75em; }

.normal {
  font-weight: 400; }

.center {
  text-align: center; }

.smaller {
  font-size: .5em; }

.size-2x {
  font-size: calc(1em + .5vw);
  margin-bottom: 1.5rem;
  font-weight: 300; }

.x-large {
  font-size: 10vw;
  margin: 25vh 0; }

.mt0 {
  margin-top: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.uppercase {
  text-transform: uppercase; }

.clear--left {
  clear: left; }

@media all and (max-width: 768px) {
  .desktop-only {
    display: none; } }

.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.reader-mode-only {
  display: none; }

/* Visually hide any element (mostly text) accessibly.
   Support includes IE9+ */
.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

[hidden] {
  display: none; }

button {
  outline: 2px solid transparent; }

button:focus,
a:focus {
  outline: 3px solid #000;
  outline-offset: 3px; }

button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
  /* undo all the above focused button styles
       if the button has focus but the browser wouldn't normally
       show default focus styles */
  outline: 2px solid transparent; }

pre {
  white-space: pre-wrap;
  /* Overflow by default is bad. */ }

img {
  border-style: none;
  /* Remove the border on images inside links in IE 10 and earlier. */
  vertical-align: bottom;
  /* Fix problem with images having a tiny gap for a descender under them. */
  display: block;
  /* Switch display mode to block, since that's what we usually want for images. */
  max-width: 100%;
  /* Make images flexible by default. */
  height: auto;
  /* Ensure images maintain their aspect ratio when max-width comes into play. */ }

/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
button,
input[type="submit"],
button[type="submit"],
.btn,
.button {
  background: none;
  border: 2px solid transparent;
  color: inherit;
  font-family: inherit;
  cursor: pointer;
  display: inline-block;
  padding: .75em 2em;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  font-weight: normal;
  font-size: 1em;
  transition: all .1s linear;
  position: relative; }
  button[disabled], button.button--disabled,
  input[type="submit"][disabled],
  input[type="submit"].button--disabled,
  button[type="submit"][disabled],
  button[type="submit"].button--disabled,
  .btn[disabled],
  .btn.button--disabled,
  .button[disabled],
  .button.button--disabled {
    background-color: #dedede;
    color: #ababab; }
    button[disabled]:hover, button[disabled]:focus, button.button--disabled:hover, button.button--disabled:focus,
    input[type="submit"][disabled]:hover,
    input[type="submit"][disabled]:focus,
    input[type="submit"].button--disabled:hover,
    input[type="submit"].button--disabled:focus,
    button[type="submit"][disabled]:hover,
    button[type="submit"][disabled]:focus,
    button[type="submit"].button--disabled:hover,
    button[type="submit"].button--disabled:focus,
    .btn[disabled]:hover,
    .btn[disabled]:focus,
    .btn.button--disabled:hover,
    .btn.button--disabled:focus,
    .button[disabled]:hover,
    .button[disabled]:focus,
    .button.button--disabled:hover,
    .button.button--disabled:focus {
      background-color: #dedede;
      color: #ababab; }
  button svg,
  input[type="submit"] svg,
  button[type="submit"] svg,
  .btn svg,
  .button svg {
    color: inherit; }
  button.is-centered,
  input[type="submit"].is-centered,
  button[type="submit"].is-centered,
  .btn.is-centered,
  .button.is-centered {
    display: block;
    margin: 2em auto; }
  button:focus,
  input[type="submit"]:focus,
  button[type="submit"]:focus,
  .btn:focus,
  .button:focus {
    outline: 3px solid orange;
    outline-offset: 3px; }

button,
input[type="submit"],
button[type="submit"],
.button,
.button--primary {
  background: linear-gradient(var(--color--primary), var(--color--primary));
  color: #fff; }

.button--secondary,
a.button {
  border-radius: 0;
  background: none;
  font-weight: bold;
  font-size: 1.2em;
  border: 2px solid;
  color: inherit; }
  .button--secondary:hover, .button--secondary:focus,
  a.button:hover,
  a.button:focus {
    background: #111;
    color: #fff;
    border: 2px solid #111; }
    [data-theme="dark"] .button--secondary:hover, [data-theme="dark"] .button--secondary:focus, [data-theme="dark"]
    a.button:hover, [data-theme="dark"]
    a.button:focus {
      background: #fff;
      border: 2px solid #fff;
      color: #111; }
  .article .button--secondary, .article
  a.button {
    display: inline-block; }

.article-buttons {
  display: flex; }

.button--full {
  font-size: 1.1em;
  width: 100%;
  margin: 1em 0;
  display: block; }

.button-wrapper {
  text-align: center; }
  .button-wrapper small {
    display: block; }
    .button-wrapper small a {
      border: none; }

p {
  margin-bottom: 2em;
  line-height: 1.75; }

strong {
  font-weight: 600; }

/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 600;
  line-height: 1.3;
  margin-top: 2em;
  margin-bottom: .5em; }

h1,
h2,
h3,
h4,
.h1,
.h2 {
  letter-spacing: -.75px; }

.descriptor {
  font-size: 1rem;
  font-weight: 400;
  color: #888;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 2rem; }

.h0 {
  font-size: 2.986rem;
  margin-top: 0; }

h1,
.h1 {
  font-size: calc(1.5rem + 3vw);
  margin-top: 0;
  line-height: 1.3; }

h2,
.h2 {
  font-size: 2.074rem;
  line-height: 1.3; }
  h2 code,
  .h2 code {
    text-transform: none; }

h3,
.h3 {
  font-size: 1.728rem; }
  h3 code,
  .h3 code {
    text-transform: none; }

h4,
.h4 {
  font-size: 1.44rem; }

h5,
.h5 {
  font-size: 1.2rem; }

h6 {
  font-size: 1rem; }

h1:target,
h2:target,
h3:target,
h4:target,
h5:target,
h6:target {
  background: var(--yellow-highlight);
  padding: 0.2em 0.5em; }

code {
  background-color: rgba(0, 0, 0, 0.05);
  color: inherit;
  padding: 0.1em 0.2em;
  font-family: Consolas, Monaco, Lucida Console, monospace;
  font-size: 0.85em;
  font-weight: bold; }

kbd {
  font-family: monospace;
  background-color: #222;
  color: #fff;
  border-radius: 3px;
  padding: 2px 4px; }

/**
 * Including the at-only style with the dialog CSS as it is required
 * to visually hide a dialog's heading if desired.
 */
.at-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

/**
 * Trigger styling
 */
[data-modal-open][hidden] {
  display: none; }

/**
 * When a modal dialog is open, don't allow scrolling of content
 * beneath (on desktop). Also useful in negating instances of
 * double scroll bars.
 * (browser window + dialog if long enough content)
 */
body.modal-open {
  overflow: hidden; }

/**
 * Modal Dialog base styling
 */
.js [data-modal],
.a11y-modal {
  -webkit-overflow-scrolling: touch;
  background: #fafafa;
  color: #111;
  bottom: 0;
  box-shadow: 0 0 0 4000px rgba(0, 0, 0, 0.75), 0 0 100px 50px rgba(0, 0, 0, 0.1), 0 0 50px 10px rgba(0, 0, 0, 0.4);
  left: 0;
  margin: auto;
  max-height: 100%;
  max-width: 450px;
  opacity: 1;
  overflow: auto;
  padding: 2em;
  position: fixed;
  right: 0;
  top: 50vh;
  transform: translateY(0%);
  visibility: visible;
  width: 100%;
  z-index: 10;
  /* this should be more than enough... */
  border-radius: 10px;
  opacity: 1;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNiAyNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBmaWxsPSIjZWVlIiBkPSJtMS43NSw3Ljc1bDYuNjgwMzYsMGMwLjMzNTU3LDEuMjk1MjMgMS41MDM5MSwyLjI1ODc5IDIuOTAyNjUsMi4yNTg3OXMyLjU2NzA4LC0wLjk2MzU2IDIuOTAyNjUsLTIuMjU4NzlsMTAuMDE0MzQsMGMwLjQxNDA2LDAgMC43NSwtMC4zMzU5NCAwLjc1LC0wLjc1cy0wLjMzNTk0LC0wLjc1IC0wLjc1LC0wLjc1bC0xMC4wMTQzNCwwYy0wLjMzNTU3LC0xLjI5NTIzIC0xLjUwMzkxLC0yLjI1ODc5IC0yLjkwMjY1LC0yLjI1ODc5cy0yLjU2NzA4LDAuOTYzNTYgLTIuOTAyNjUsMi4yNTg3OWwtNi42ODAzNiwwYy0wLjQxNDA2LDAgLTAuNzUsMC4zMzU5NCAtMC43NSwwLjc1czAuMzM1OTQsMC43NSAwLjc1LDAuNzV6bTkuNTgzMDEsLTIuMjU4NzljMC44MzIwMywwIDEuNTA4NzksMC42NzY3NiAxLjUwODc5LDEuNTA4NzlzLTAuNjc2NzYsMS41MDg3OSAtMS41MDg3OSwxLjUwODc5cy0xLjUwODc5LC0wLjY3Njc2IC0xLjUwODc5LC0xLjUwODc5czAuNjc2NzYsLTEuNTA4NzkgMS41MDg3OSwtMS41MDg3OXoiLz4KICA8cGF0aCBmaWxsPSIjZWVlIiBkPSJtMjQuMjUsMTIuMjVsLTEuNjA2MTQsMGMtMC4zMzU1NywtMS4yOTUyMyAtMS41MDM5MSwtMi4yNTg3OSAtMi45MDI2NSwtMi4yNTg3OXMtMi41NjcwOCwwLjk2MzU2IC0yLjkwMjY1LDIuMjU4NzlsLTE1LjA4ODU2LDBjLTAuNDE0MDYsMCAtMC43NSwwLjMzNTk0IC0wLjc1LDAuNzVzMC4zMzU5NCwwLjc1IDAuNzUsMC43NWwxNS4wODg1NiwwYzAuMzM1NTcsMS4yOTUyMyAxLjUwMzkxLDIuMjU4NzkgMi45MDI2NSwyLjI1ODc5czIuNTY3MDgsLTAuOTYzNTYgMi45MDI2NSwtMi4yNTg3OWwxLjYwNjE0LDBjMC40MTQwNiwwIDAuNzUsLTAuMzM1OTQgMC43NSwtMC43NXMtMC4zMzU5NCwtMC43NSAtMC43NSwtMC43NXptLTQuNTA4NzksMi4yNTg3OWMtMC44MzIwMywwIC0xLjUwODc5LC0wLjY3Njc2IC0xLjUwODc5LC0xLjUwODc5czAuNjc2NzYsLTEuNTA4NzkgMS41MDg3OSwtMS41MDg3OXMxLjUwODc5LDAuNjc2NzYgMS41MDg3OSwxLjUwODc5cy0wLjY3Njc2LDEuNTA4NzkgLTEuNTA4NzksMS41MDg3OXoiLz4KICA8cGF0aCBmaWxsPSIjZWVlIiBkPSJtMjQuMjUsMTguMjVsLTE0LjUzMTg2LDBjLTAuMzM1NTEsLTEuMjk1MjMgLTEuNTAzNzgsLTIuMjU4NzkgLTIuOTAxNzMsLTIuMjU4NzljLTEuMzk4NzUsMCAtMi41NjcwOCwwLjk2MzU2IC0yLjkwMjY1LDIuMjU4NzlsLTIuMTYzNzYsMGMtMC40MTQwNiwwIC0wLjc1LDAuMzM1OTQgLTAuNzUsMC43NXMwLjMzNTk0LDAuNzUgMC43NSwwLjc1bDIuMTYzNzYsMGMwLjMzNTU3LDEuMjk1MjMgMS41MDM5LDIuMjU4NzkgMi45MDI2NSwyLjI1ODc5YzEuMzk3OTUsMCAyLjU2NjIyLC0wLjk2MzU2IDIuOTAxNzMsLTIuMjU4NzlsMTQuNTMxODYsMGMwLjQxNDA2LDAgMC43NSwtMC4zMzU5NCAwLjc1LC0wLjc1cy0wLjMzNTk0LC0wLjc1IC0wLjc1LC0wLjc1em0tMTcuNDMzNTksMi4yNTg3OWMtMC44MzIwMywwIC0xLjUwODc5LC0wLjY3Njc2IC0xLjUwODc5LC0xLjUwODc5czAuNjc2NzYsLTEuNTA4NzkgMS41MDg3OSwtMS41MDg3OWMwLjgzMTA1LDAgMS41MDc4MSwwLjY3Njc2IDEuNTA3ODEsMS41MDg3OXMtMC42NzY3NiwxLjUwODc5IC0xLjUwNzgxLDEuNTA4Nzl6Ii8+Cjwvc3ZnPg==");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
  background-size: auto 150px; }
  [data-theme="dark"] .js [data-modal], [data-theme="dark"]
  .a11y-modal {
    background: var(--purple--darker);
    color: #eee; }
  .js [data-modal]:focus,
  .a11y-modal:focus {
    outline: none; }

@keyframes fadeIn {
  to { } }

@media screen and (min-height: 440px) and (min-width: 500px) {
  .js [data-modal],
  .a11y-modal {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .2s ease-in-out, transform .2s ease-in-out; } }

/**
 * To allow for CSS animations, hidden modal dialogs are
 * not set to display: none, but rather the following rule
 * set, in combination with the dialog's default
 * position: fixed, will keep dialogs hidden from
 * all users until opened.
 *
 * This also solves an issue with iOS VO + Safari not allowing
 * modal dialogs to be focused, if the dialog is initially
 * set to "display: none".
 */
.js [data-modal][hidden]
.a11y-modal[hidden] {
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translateY(15vh);
  visibility: hidden; }

.a11y-modal__close-btn {
  border: none; }

.is-icon-btn {
  background: none;
  border: 2px solid currentColor;
  color: inherit;
  height: 2em;
  padding: 0;
  position: absolute;
  right: 1.5em;
  top: 1.5em;
  width: 2em;
  border-radius: 5px;
  height: 40px;
  width: 40px;
  text-align: center;
  border-radius: 50%;
  line-height: 1;
  transition: all .15s linear; }
  .is-icon-btn:focus, .is-icon-btn:hover {
    outline: none; }

[data-modal-x]:after {
  content: "×";
  font-size: 2em; }

::-moz-selection {
  background: var(--purple);
  color: #fff; }

::selection {
  background: var(--purple);
  color: #fff; }

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Fira Sans", arial, sans-serif;
  font-size: calc(15px + 0.25vw);
  --newspaper: hsl(264, 15%, 95%);
  background-color: #fff; }

html[data-hook="press-kit"],
html[data-hook="uses"],
html[data-hook="about"] {
  background-color: var(--newspaper); }

html[data-hook="smth"] {
  background-color: #532d53; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }

hr {
  width: 70%;
  height: 3rem;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='794px' height='51px' viewBox='0 0 794 51' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='0.907103825 0 798.907104 0 798.907104 364 0.907103825 364'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='36257-O0KTX6' transform='translate(0.000000, -212.000000)'%3E%3Cg id='Group' transform='translate(-4.907104, 171.000000)'%3E%3Cg id='Group-70'%3E%3Cmask id='mask-2' fill='white'%3E%3Cuse xlink:href='%23path-1'%3E%3C/use%3E%3C/mask%3E%3Cg id='Clip-67'%3E%3C/g%3E%3Cpath d='M610.198586,77 C699.286076,77 783.215114,73.4231956 849.907104,64.0083772 L849.765531,63.0342269 C783.152303,72.4392054 699.257163,76.0169938 610.198586,76.0160098 C468.900459,76.0169938 314.600519,67.0124993 195.629099,58.0080049 C136.142392,53.5062497 85.4880646,49.0035105 49.7059121,45.62744 C31.8148358,43.9389128 17.6415541,42.5318068 7.94178925,41.5478166 C3.09140831,41.0548375 -0.640344182,40.6681294 -3.15975068,40.40442 C-5.67816019,40.1407106 -6.98023573,40 -6.98422371,40 L-7.09289617,40.9780863 C-7.08292622,40.9790703 327.520578,77 610.198586,77 Z' id='Fill-68' fill='black' style='fill: var(--hr-color, black)' mask='url(%23mask-2)'%3E%3C/path%3E%3C/g%3E%3Cpath d='M204.690104,47.32 C206.259104,42.729 211.015104,44.247 211.564104,45.397 C212.744104,47.867 213.564104,47.459 213.564104,47.459 C213.564104,47.459 211.475104,47.412 210.596104,49.717 C210.211104,50.727 208.816104,56.337 204.832104,58.949 C202.997104,60.153 200.700104,60.071 198.966104,61.194 C197.487104,62.163 196.569104,65.733 194.477104,65.784 C194.528104,65.733 194.579104,65.58 194.630104,65.479 C194.069104,65.835 193.355104,65.632 192.743104,65.632 C192.845104,65.376 192.590104,65.58 192.743104,65.325 C192.641104,65.428 192.641104,65.172 192.539104,65.223 C192.488104,64.764 192.284104,64.458 192.590104,64.101 C192.437104,64.254 192.590104,64.101 192.437104,64.203 C192.131104,63.285 196.633104,60.39 197.092104,57.891 C198.220104,51.746 202.522104,48.379 204.690104,47.32' id='Fill-73' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M237.461104,48.48 C240.188104,44.985 244.713104,48.584 244.314104,51.397 C248.502104,52.923 251.137104,63.152 251.621104,65.056 C251.621104,65.056 254.867104,70.497 254.733104,74.267 C254.250104,72.998 254.242104,74.368 253.553104,73.169 C253.483104,73.311 252.586104,72.323 252.517104,72.464 C251.439104,71.459 250.904104,67.897 250.103104,67.455 C249.301104,67.012 244.307104,65.92 241.012104,62.94 C237.824104,60.056 237.482104,56.195 237.693104,54.727 C238.377104,49.959 234.689104,50.147 234.689104,50.147 C234.689104,50.147 236.502104,49.709 237.461104,48.48' id='Fill-79' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M490.329073,53.2234708 C489.681073,52.5704708 487.329073,50.5564708 485.450073,51.0884708 C483.536073,51.6304708 481.516073,54.0154708 481.624073,56.5644708 L481.662073,56.5564708 C481.662073,56.5564708 480.546073,57.4964708 480.276073,57.7454708 C479.575073,58.3664708 475.473073,63.1004708 474.745073,69.2234708 C474.510073,71.1834708 474.352073,73.7664708 474.662073,75.0564708 C474.972073,76.3454708 473.722073,78.5464708 473.020073,79.9774708 C472.696073,80.5984708 469.438073,84.9064708 471.702073,83.9734708 C470.907104,85.7234708 472.329073,85.1394708 472.329073,85.1394708 C472.329073,85.1394708 471.827073,86.6204708 472.662073,86.6204708 C473.001073,86.6204708 473.995073,85.1394708 473.995073,85.1394708 C473.995073,85.1394708 473.995073,87.9734708 475.238073,84.4414708 C476.071073,87.7754708 477.917073,79.0904708 478.528073,77.9324708 C479.140073,76.7754708 481.459073,75.7964708 483.265073,74.8634708 C485.072073,73.9324708 486.663073,71.7724708 487.632073,69.7204708 C489.035073,66.8614708 489.662073,64.4804708 489.662073,61.3064708 C489.662073,54.2234708 492.971073,53.9734708 492.971073,53.9734708 C492.971073,53.9734708 490.976073,53.8764708 490.329073,53.2234708' id='Fill-87' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M177.695104,46.218 C179.252104,47.12 180.579104,51.973 180.214104,56.075 C179.708104,61.772 180.593104,64.226 180.581104,64.709 C180.567104,64.962 180.224104,63.94 180.126104,64.119 C180.028104,64.3 179.377104,66.022 179.377104,66.022 C178.314104,65.897 177.788104,64.477 177.788104,64.477 C177.788104,64.477 177.614104,65.198 177.439104,65.022 C176.716104,64.271 177.416104,61.669 177.165104,60.689 C176.433104,57.829 174.939104,58.128 173.502104,55.834 C171.625104,52.839 171.708104,49.822 172.127104,48.584 C172.433104,47.644 172.922104,46.91 172.226104,45.906 C171.746104,45.206 171.072104,45.652 170.403104,45.709 C170.714104,45.484 171.124104,45.445 171.434104,45.219 C171.788104,44.971 175.734104,39.39 177.695104,46.218' id='Fill-90' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M422.710104,55.938 C422.537104,55.574 421.710104,50.668 417.874104,51.317 C415.392104,51.738 413.710104,53.668 414.627104,57.084 C414.271104,59.936 412.264104,61.525 413.761104,67.05 C415.427104,73.204 419.112104,76.736 419.257104,78.691 C419.356104,80.243 419.127104,86.627 419.127104,86.627 C419.236104,86.528 420.370104,85.727 420.478104,85.628 C420.696104,85.909 420.845104,86.237 421.127104,86.501 C421.153104,86.355 421.604104,86.239 421.632104,86.093 C422.013104,86.465 422.516104,87.242 423.070104,87.497 C423.089104,87.079 423.173104,86.461 423.354104,86.134 C423.363104,86.406 424.202104,87.052 424.257104,87.243 C424.202104,87.052 424.678104,86.266 424.824104,85.33 C425.142104,85.72 426.640104,85.572 426.877104,85.918 C424.794104,82.584 424.141104,77.345 424.120104,75.908 C424.019104,72.43 426.519104,69.102 426.492104,65.673 C426.454104,60.903 422.710104,55.938 422.710104,55.938' id='Fill-98' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M302.845104,52.885 C302.750104,52.573 302.523104,47.483 298.347104,48.334 C296.386104,48.734 295.575104,51.737 296.049104,53.353 C295.437104,55.595 294.345104,56.846 294.877104,61.459 C295.470104,66.599 298.846104,68.692 298.732104,70.277 C298.630104,71.533 298.642104,73.546 298.598104,74.85 L298.535104,75.183 C298.632104,75.116 298.744104,75.156 298.841104,75.089 C298.980104,75.342 299.019104,76.129 299.210104,76.376 C299.248104,76.262 299.903104,75.988 299.529104,75.487 C299.785104,75.832 300.989104,77.493 301.170104,77.254 C301.146104,77.474 301.582104,76.552 301.603104,76.712 C301.582104,76.552 301.681104,76.558 301.906104,75.826 C302.110104,76.178 302.440104,76.195 302.585104,76.501 C303.798104,75.019 302.642104,71.989 302.793104,70.834 C303.120104,68.033 304.624104,64.088 305.002104,61.334 C305.529104,57.506 302.845104,52.885 302.845104,52.885' id='Fill-99' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3Cpath d='M542.099104,60.139 C541.980104,59.748 542.402104,54.385 537.377104,54.3367902 C534.210104,54.307 533.793104,57.501 533.210104,60.084 C532.422104,62.891 530.212104,63.731 530.877104,69.501 C531.616104,75.928 535.338104,80.463 535.187104,82.446 C535.052104,84.019 534.894104,88.962 535.018104,88.878 C535.195104,89.194 535.379104,89.576 535.622104,89.884 C535.671104,89.741 535.845104,89.516 535.894104,89.374 C536.220104,89.805 537.677104,91.884 537.908104,91.584 C537.877104,91.859 538.835104,90.146 539.124104,89.228 C539.384104,89.669 539.485104,89.668 539.670104,90.051 C541.222104,88.192 540.271104,82.86 540.467104,81.415 C540.893104,77.911 543.928104,73.925 544.419104,70.48 C545.104104,65.688 542.099104,60.139 542.099104,60.139' id='Fill-100' fill='black' style='fill: var(--hr-color, black)'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin: 5rem auto;
  border: none; }

ul.series {
  list-style: none;
  counter-reset: series; }
  ul.series li {
    margin-bottom: 2em;
    display: grid;
    grid-gap: 0 1.5em;
    grid-template-columns: auto 1fr; }
    ul.series li::before {
      counter-increment: series;
      content: counter(series, decimal-leading-zero);
      color: #aaa;
      font-weight: bold;
      font-size: 2.5em;
      line-height: 1.2; }

.series__item__title a[href] {
  font-weight: 600;
  text-decoration: underline;
  border: none;
  font-size: 1.25em;
  display: block;
  margin-bottom: .25em; }

.series__item__description {
  grid-column: 2;
  grid-row: 2;
  color: #666; }

body {
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
  overflow-x: hidden;
  margin: 0 auto;
  font-weight: 300;
  background-color: #fff; }
  @media all and (max-width: 1024px) {
    body {
      padding: 0 1em;
      max-width: 100%; } }

main {
  padding: 2vw 0;
  margin: 0 auto;
  background-color: #fff; }
  main:focus {
    outline: none; }

section {
  margin-bottom: 10vw; }
  section:last-of-type {
    margin-bottom: 0; }

.awards {
  display: flex;
  justify-content: end; }
  [data-hook="homepage"] .awards {
    padding: 1rem 0; }
  .awards img {
    display: inline-block;
    max-width: 120px;
    max-height: 180px;
    margin-right: 1.5rem; }
    .awards img:last-of-type {
      margin-right: 0; }
    @media all and (max-width: 768px) {
      .awards img {
        max-width: 70px;
        max-height: 70px; } }

video {
  margin: 1em 0 0;
  width: 100%; }

audio {
  margin: 30px 0;
  display: block; }

img {
  max-width: 100%; }

input,
select,
button {
  font-family: inherit; }

/*------------------------------------*\
    links / anchors
\*------------------------------------*/
a {
  color: inherit;
  outline: 2px solid transparent;
  background-size: 100% 0.3em;
  background-repeat: no-repeat;
  background-position: left 0 bottom -40%;
  font-weight: 500; }
  a.img-link {
    border: none !important; }
  .article__content a {
    text-decoration: none;
    border-bottom: 2px solid; }

.anchorjs-link {
  border: none;
  color: var(--pink);
  font-size: 1em;
  padding-top: 5px;
  font-weight: bold;
  background: none;
  position: relative !important; }
  .anchorjs-link:hover, .anchorjs-link:focus {
    border: none; }

.note {
  background: rgba(0, 0, 0, 0.05);
  margin: 1em 0;
  padding: 2em 1.5em;
  font-size: 1em;
  font-size: .95em; }
  .note.warning {
    color: var(--red); }
    .note.warning::before {
      content: "⚠️ Note: ";
      font-weight: bold; }
  .note ul {
    font-size: inherit; }

/*------------------------------------*\
    #PULL-QUOTES
\*------------------------------------*/
.pull-quote {
  font-size: 1.6em;
  font-style: italic;
  font-family: "Fira Sans", arial, sans-serif;
  padding: 1.25em 0;
  text-align: center;
  margin: 2em 0;
  position: static;
  color: #878787;
  border-left: none; }
  .pull-quote code {
    text-transform: none; }

@media screen and (max-width: 34.375em) {
  /*550*/
  .pull-quote {
    display: none; } }

.signature {
  max-width: 500px; }

.signature__image {
  margin-left: -20px;
  width: 100%; }

.signature__text {
  margin-top: -1em; }

/*------------------------------------*\
    #FIGURES
\*------------------------------------*/
figure {
  margin: 2rem 0; }
  figure > a {
    border: none;
    display: block;
    width: 100%; }
    figure > a:hover, figure > a:focus {
      border: none; }
    figure > a img {
      display: block;
      margin: 0; }
  figure img {
    display: block;
    width: auto;
    max-width: 100%; }
  figure.double img {
    display: inline-block;
    max-width: 48%; }
  figure figcaption {
    padding: 1em;
    font-size: 0.8em; }

@media (min-width: 1024px) {
  figure.wider {
    position: relative;
    width: 125%;
    left: -25%; } }

.not-found {
  grid-column: 2 / 12; }

.blog__intro {
  grid-column: 2 / 10;
  grid-row: 1; }

.blog__tags {
  color: #777;
  font-size: .8em; }
  .blog__tags a {
    text-decoration: none; }

.blog__tag-cloud {
  grid-column: 9 / 12;
  grid-row: 2;
  justify-self: end;
  display: none; }
  @media all and (max-width: 768px) {
    .blog__tag-cloud {
      margin-top: 3rem; } }
  .blog__tag-cloud a {
    text-decoration: none; }
  .blog__tag-cloud ul {
    margin-top: 0;
    list-style: none; }
  .blog__tag-cloud li {
    text-transform: uppercase;
    letter-spacing: .5px;
    font-family: "Fira Sans", arial, sans-serif;
    font-weight: 400;
    font-size: .8em;
    margin-bottom: .75em; }
    .blog__tag-cloud li::before {
      content: "";
      display: inline-block;
      vertical-align: middle;
      width: 1em;
      height: 1em;
      background-image: url("../../images/icons/hashtag.svg");
      background-size: 100% 100%;
      background-color: inherit;
      position: static; }

.blog__pagination {
  padding: 0 1em;
  margin-bottom: 1em;
  grid-column: 2 / 12;
  justify-self: center; }

.blog__articles-list {
  list-style: none;
  grid-column: 2 / 8;
  grid-row: 2;
  padding: 0; }
  .blog__articles-list .blog__tags {
    display: none; }

.tag .blog__title {
  grid-row: 2;
  margin-bottom: 0;
  margin-top: .5em; }

.blog__post {
  position: relative;
  padding-bottom: 1rem; }
  .blog__post:first-of-type {
    grid-column: 1 / 3; }
    .blog__post:first-of-type .post-summary {
      display: block; }

.blog__post-title {
  font-size: 1.4rem;
  position: relative;
  margin-bottom: 0;
  font-weight: 500; }
  .blog__post-title a {
    cursor: pointer;
    text-decoration: none; }
  .blog__post-title code {
    background-color: inherit; }

.blog__subtitle {
  display: block;
  font-size: .6em;
  font-weight: 400;
  margin: .5em 0 1em;
  color: #555; }

.blog__post-meta {
  font-size: .8em;
  display: block;
  margin-top: 0;
  font-weight: 400;
  color: #666; }

.archives-link {
  grid-row: 2;
  grid-column: 3 / 9;
  text-align: center; }

.archives__head {
  text-align: center;
  grid-column: 4 / 10;
  grid-row: 2; }

.archives__list {
  grid-row: 2;
  grid-column: 4 / 10; }

.pagination {
  font-size: 1.2rem; }

.pagination__button {
  display: inline-block;
  margin: .5em; }
  .pagination__button.button--disabled {
    color: #999; }

.l-aspect-ratio {
  width: 100%;
  height: 0;
  position: relative; }
  .l-aspect-ratio object,
  .l-aspect-ratio iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .l-aspect-ratio.wide {
    padding-top: 55%; }

svg.icon--inline {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  margin-right: .25em; }

.clients {
  text-align: center;
  margin: 4vw 0; }

.clients__title {
  margin: 1em 0 3em;
  color: var(--grey);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 1.2em; }
  [data-theme="dark"] .clients__title {
    color: var(--purple--lighter); }

.clients__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  grid-gap: 1.5em; }
  @media all and (min-width: 1024px) {
    .clients__list {
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      grid-gap: 3em; } }
  .clients__list li::before {
    display: none; }

.clients__item {
  align-self: center;
  margin: 0;
  padding: 0; }
  .clients__item img {
    display: inline-block;
    max-width: 100%;
    max-height: 40px; }
    @media all and (min-width: 1024px) {
      .clients__item img {
        max-height: 50px; } }
  .clients__item a {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    background: none;
    padding: 1em; }

.main-header {
  padding: 1rem 0; }
  .main-header .content-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  @media all and (min-width: 640px) {
    .main-header .content-wrapper {
      display: flex;
      align-items: center;
      justify-content: space-between; } }

.logo a {
  border: none;
  display: block;
  text-decoration: none;
  min-width: 150px; }

/*------------------------------------*\
    #SITE-NAVIGATION
\*------------------------------------*/
@media all and (min-width: 640px) {
  .main-nav {
    margin-left: 2rem;
    flex: 1; } }

.main-nav__list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: right; }
  @media all and (min-width: 640px) {
    .main-nav__list {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap; } }

.main-nav__item {
  margin-bottom: 0;
  position: relative;
  transition: background-color 0.1s ease-out; }
  .main-nav__item a {
    font-size: .85em;
    display: block;
    text-decoration: none;
    margin-top: .5em;
    text-transform: uppercase; }
  .main-nav__item.current a {
    font-weight: bold;
    letter-spacing: .5px;
    border-bottom: 3px solid; }
  @media all and (min-width: 640px) {
    .main-nav__item {
      margin-right: 1.5rem; }
      .main-nav__item:last-of-type {
        margin-right: 0; } }

.work__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.work__item {
  position: relative;
  margin-bottom: 4rem; }

.work__item__description {
  margin-bottom: 1rem; }

.work__item__logo {
  height: 35px;
  margin-bottom: 1rem; }

.work__item__client-name {
  margin: 0;
  font-weight: 600; }

.work__item__description {
  max-width: 50rem;
  font-weight: normal; }

.work__item__preview {
  display: none; }

/*------------------------------------*\
    #CASE-STUDY SINGLE.HTML
\*------------------------------------*/
.case-study figure img {
  display: block;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 6px 6px rgba(0, 0, 0, 0.125); }

.case-study__client-name {
  text-align: center; }
  .case-study__client-name::before {
    content: "Case Study";
    display: block;
    font-size: 16px;
    margin-left: 1em;
    color: #777;
    font-weight: 300;
    letter-spacing: 1px;
    text-transform: uppercase; }
  .case-study__client-name img {
    display: inline-block;
    border: none;
    margin-top: 0.5em;
    max-width: 260px; }
    [data-theme="dark"] .case-study__client-name img {
      -webkit-filter: invert(100%) grayscale(100%) brightness(120%);
      filter: invert(100%) grayscale(100%) brightness(120%); }

.case-study__client-tagline {
  text-align: center; }

.case-study__client-description {
  font-size: 1.2em;
  text-align: center; }

.case-study__ {
  grid-column: var(--grid-column);
  grid-row: var(--grid-row); }

.case-study__preview {
  text-align: center;
  max-height: 100vmin;
  overflow: hidden; }
  .case-study__preview > img {
    box-shadow: none !important; }

.case-study__image {
  margin: 0; }

.case-study__testimonial {
  font-size: 1.2em;
  border: none;
  font-style: italic;
  padding-left: 1.5em;
  margin-bottom: 4em; }
  .case-study__testimonial cite {
    display: block;
    color: #000;
    margin-left: 1em;
    text-align: right; }

.case-study__testimonial__client-name {
  display: block;
  margin-left: -2em;
  margin-bottom: 1em;
  font-style: normal;
  font-weight: bold;
  font-size: 1.2em; }
  @media all and (max-width: 900px) {
    .case-study__testimonial__client-name {
      margin-left: 0; } }
  .cobi .case-study__testimonial__client-name {
    color: #59c6e4; }
  .smashing-magazine .case-study__testimonial__client-name {
    color: #bc4132; }
  .khan-academy .case-study__testimonial__client-name {
    color: #21d09e; }

.podcasts {
  margin-top: 5vw; }
  @media all and (max-width: 1024px) {
    .podcasts {
      padding: 0 1em; } }

.podcasts__heading {
  border-bottom: 1px solid #ccc;
  padding: .25em 0; }

.podcasts__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.podcasts__item {
  margin: 0;
  margin-bottom: 1em; }
  .podcasts__item a {
    font-weight: 500;
    font-size: 1.15rem; }

.homepage__photo {
  position: relative;
  grid-column: 1 / 13;
  grid-row: 1;
  margin-bottom: 2rem; }
  .homepage__photo > img {
    display: block;
    width: 100%; }

[data-hook="homepage"] .awards {
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
  right: 0; }

.tagline {
  padding: 2rem 1.5rem;
  background-color: #fff; }
  @media all and (max-width: 1024px) {
    .tagline {
      padding-right: 0;
      padding-left: 0; } }

.footer__more {
  grid-column: 1 / 13;
  display: grid;
  grid-template-columns: 1fr; }
  .footer__more ul {
    list-style: none;
    padding: 0; }

.secondary-nav {
  margin: 2em 0;
  padding: 0; }
  .secondary-nav ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    grid-gap: 2em; }
    @media all and (min-width: 900px) {
      .secondary-nav ul {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
  .secondary-nav li::before {
    display: none; }
  .secondary-nav li a {
    display: block;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.3em;
    background: none; }
  .secondary-nav li span {
    display: block;
    font-size: 0.9em;
    color: var(--gray--light);
    line-height: 1.5; }

.footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  margin: 1em 0; }
  .footer__links li {
    font-size: 0.9em;
    display: inline-block;
    vertical-align: middle;
    margin-right: 2em;
    padding: 1em 0; }
    .footer__links li::before {
      display: none; }
    .footer__links li a {
      display: block;
      width: 100%; }
  @media all and (min-width: 640px) {
    .footer__links {
      padding: 0 2em; } }

.footer__notes {
  grid-column: 2 / 12;
  text-align: center;
  padding: 4em 0;
  font-size: 0.9em; }

table {
  width: 100%;
  max-width: 100%; }
  table tbody {
    display: block;
    width: 100%; }

table.main {
  width: 100%;
  padding: 0;
  font-size: .9em;
  color: #111; }
  table.main td {
    padding: .75em 1em; }
    table.main td:first-of-type, table.main td:first-of-type a {
      font-weight: bold; }
  table.main tr:nth-of-type(odd) {
    background-color: #fff; }
  table.main tr:nth-of-type(even) {
    background-color: #eee; }
  table.main tr:first-of-type {
    background-color: #333;
    color: #fff; }

table.minimal {
  display: block;
  width: 100%;
  border-collapse: collapse; }
  table.minimal td {
    padding: .5em .75em;
    border: 1px solid #ddd; }
    table.minimal td:first-of-type {
      font-weight: bold; }

table.hints {
  margin-top: 30px;
  font-size: 14px; }
  table.hints td:first-of-type {
    width: 20px;
    height: 20px; }
  table.hints td:last-of-type {
    padding-left: 5px; }

table.cagematch {
  border: 1px solid #eee;
  table-layout: fixed;
  margin: 1.5em 0; }
  table.cagematch td {
    padding: 1em;
    width: 50%;
    color: white; }

.th {
  background-color: #222;
  font-weight: bold; }

td.win {
  background-color: var(--green--dark);
  font-weight: 400; }

td.lose {
  background-color: tomato;
  font-weight: 400; }

td.average {
  background-color: #FCA602;
  font-weight: 400; }

td.win code, td.lose code, td.average code {
  color: #222; }

.desk__intro {
  grid-row: 2;
  grid-column: 8 / 12;
  margin-bottom: 3em;
  border-bottom: 1px solid #ddd; }
  @media all and (max-width: 1024px) {
    .desk__intro {
      padding: 0 1em; } }

.desk-photo {
  grid-row: 2;
  grid-column: 2 / 7;
  margin-bottom: 3em; }

.desk__list {
  list-style: none;
  margin: 0;
  padding: 0;
  grid-column: 3 / 7; }

.desk__item {
  margin-bottom: 2.5em;
  position: relative;
  transition: background-color .2s ease-out;
  border-top: 1px solid var(--purple--lightest);
  padding-top: 1em; }
  [data-theme="dark"] .desk__item {
    border-top: 1px solid var(--purple--darker); }
  .desk__item::before {
    display: none; }
  .desk__item a {
    display: block;
    width: 100%;
    height: 100%;
    transition: all .2s ease-out;
    text-decoration: none;
    background: none; }
    .desk__item a:hover {
      color: inherit;
      background: none;
      border-bottom: none; }

.desk__item__title {
  font-size: 1.5em;
  font-weight: 500;
  margin-top: 0; }
  .desk__item__title span {
    display: block;
    font-weight: normal;
    margin-top: .5em;
    color: var(--grey); }

.desk__item__meta {
  color: var(--grey);
  font-size: .75em;
  margin-top: -1em;
  font-weight: 300;
  display: block; }

.desk__item__desc {
  font-size: .8em;
  font-weight: 300;
  display: none; }

.desk__wrapper {
  grid-row: 2;
  grid-column: 2 / 8; }

.footnotes {
  border-top: 1px solid #ddd;
  padding: 1em;
  margin-top: 5em;
  color: #444;
  font-size: .75em; }
  .footnotes :target {
    background: var(--yellow-highlight);
    padding: 1em; }

/**
 * Initialiazing a `footnotes` counter on the wrapper
 */
.article {
  counter-reset: footnotes; }

.footnotes__list {
  list-style-type: decimal;
  padding: 0; }

/**
 * SOURCE: https://www.sitepoint.com/accessible-footnotes-css/
 *
 * Inline footnotes references
 * 1. Increment the counter at each new reference
 * 2. Reset link styles to make it appear like regular text
 */
a[aria-describedby="footnote-label"] {
  counter-increment: footnotes;
  /* 1 */
  text-decoration: none;
  /* 2 */
  color: inherit;
  /* 2 */
  cursor: default;
  /* 2 */
  outline: none;
  /* 2 */
  border: none; }
  a[aria-describedby="footnote-label"]:hover {
    background: none; }

/**
 * Actual numbered references
 * 1. Display the current state of the counter (e.g. `[1]`)
 * 2. Align text as superscript
 * 3. Make the number smaller (since it's superscript)
 * 4. Slightly offset the number from the text
 * 5. Reset link styles on the number to show it's usable
 */
a[aria-describedby="footnote-label"]::after {
  content: "[" counter(footnotes) "]";
  /* 1 */
  vertical-align: super;
  /* 2 */
  font-size: 0.8em;
  /* 3 */
  margin-left: 2px;
  /* 4 */
  color: var(--pink);
  /* 5 */
  text-decoration: underline;
  /* 5 */
  cursor: pointer;
  /* 5 */ }

/**
 * Resetting the default focused styles on the number
 */
a[aria-describedby="footnote-label"]:focus::after {
  outline: thin dotted;
  outline-offset: 2px; }

[aria-label="Back to content"] {
  font-size: 1;
  color: var(--pink);
  border-bottom: none; }
  [aria-label="Back to content"]:hover {
    background: none; }

blockquote {
  margin: 5vw 0;
  left: 0;
  font-size: 1.1em;
  line-height: 1.25; }
  blockquote::before {
    content: '“';
    display: inline-block;
    position: absolute;
    left: -.5em;
    top: -.5rem;
    font-size: 4rem;
    line-height: 1; }
  blockquote.testimonial {
    padding-left: 1.5rem;
    font-weight: bold;
    font-size: 1em; }
  .article__content blockquote {
    padding-left: 1rem;
    position: relative;
    border-left: 3px solid;
    background-color: #fff; }
    .article__content blockquote::before {
      display: none; }
  blockquote.tweet {
    font-size: 1.05em;
    line-height: 1.4;
    border: none;
    padding: 0;
    padding-left: 45px;
    font-style: normal;
    background: #fff;
    font-weight: 600;
    line-height: 1.35;
    position: relative;
    color: #444;
    background-image: url("data:image/svg+xml,%3Csvg width='35px' height='35px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:%231da1f2;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ETwitter_Logo_Blue%3C/title%3E%3Crect class='cls-1' width='400' height='400'/%3E%3Cpath class='cls-2' d='M153.62,301.59c94.34,0,145.94-78.16,145.94-145.94,0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,325,122.47a102.38,102.38,0,0,1-29.46,8.07,51.47,51.47,0,0,0,22.55-28.37,102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,92.4,107.81a51.33,51.33,0,0,0,15.88,68.47A50.91,50.91,0,0,1,85,169.86c0,.21,0,.43,0,.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,75,278.55a145.21,145.21,0,0,0,78.62,23'/%3E%3C/svg%3E");
    background-position: top left;
    background-repeat: no-repeat; }
    blockquote.tweet p {
      margin-bottom: 1em; }
    blockquote.tweet .tweet__cite {
      font-size: .75em;
      font-weight: normal; }
  blockquote cite {
    margin-top: 1rem;
    font-style: normal;
    display: block;
    font-weight: 300;
    font-size: 0.8em; }
    blockquote cite span {
      display: block; }

q {
  font-style: italic; }

a.skip-link {
  position: fixed;
  top: -30em;
  left: 0;
  right: 0;
  z-index: 20;
  background: var(--purple);
  color: #fff;
  padding: .5em 1em;
  font-size: 1em;
  text-align: center;
  transition: top .1s linear; }
  a.skip-link:focus, a.skip-link:focus-visible {
    top: 0;
    color: #fff;
    box-shadow: inset 0 0 0 5px var(--purple), inset 0 0 0 6px #fff; }

.request__head {
  grid-column: 4 / 10; }

.request__content {
  grid-column: 4 / 10; }

.hire-page__title {
  grid-column: 2 / 7;
  grid-row: 2; }
  @media all and (max-width: 1024px) {
    .hire-page__title {
      padding: 0 20px 1em; } }

.hire-page__testimonial {
  grid-column: 8 / 12;
  grid-row: 3; }
  .hire-page__testimonial blockquote {
    margin: 0; }
  @media all and (max-width: 1024px) {
    .hire-page__testimonial {
      margin: 5em 1em; } }

.hire-page__testimonials {
  grid-row: 4;
  grid-column: 2 / 12; }
  @media all and (max-width: 1024px) {
    .hire-page__testimonials {
      padding: 0 1em; } }
  @media all and (min-width: 1024px) {
    .hire-page__testimonials .testimonials-list {
      grid-template-columns: repeat(2, 1fr); } }

.hire-page__text {
  grid-column: 2 / 7; }
  @media all and (max-width: 1024px) {
    .hire-page__text {
      padding: 0 1em; } }

.hire-page__availability-calendar {
  grid-column: 2 / 12; }
  @media all and (max-width: 1024px) {
    .hire-page__availability-calendar {
      padding: 0 1em; } }

.hire-page__contact-notes {
  grid-column: 2 / 8; }
  @media all and (max-width: 1024px) {
    .hire-page__contact-notes {
      padding: 0 1em; } }

.hire-page__cta {
  grid-column: 4 / 10; }
  @media all and (max-width: 1024px) {
    .hire-page__cta {
      padding: 0 1em; } }

.contact__notes {
  grid-column: 9 / 12;
  grid-row: 1;
  font-weight: 300;
  font-size: .9em;
  padding: 2em 0; }

.article {
  background-color: #fff; }

.article__head {
  grid-column: 2 / 12; }

.article__content {
  grid-column: 2 / 10;
  max-width: 70ch;
  line-height: 1.6; }

.deck {
  font-size: 1.3em;
  margin-top: 2em;
  font-weight: 400;
  margin-bottom: 5vw; }

.article__title {
  position: relative; }
  .article__title h1 {
    margin-top: 0;
    margin-bottom: 1rem; }
  .article__title.link h2::before {
    content: "";
    display: inline-block;
    background-image: url(../../images/icons/read.svg);
    width: 1em;
    height: 1em;
    vertical-align: middle;
    position: relative;
    top: -3px;
    margin-right: 0.25em; }

.article__subtitle {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  margin: 1em 0 1em 0;
  line-height: 1.6;
  letter-spacing: 0px; }

.article__meta {
  font-size: 0.75em;
  color: #444; }
  .article__meta > p {
    margin-bottom: 1em; }
  .article__meta button {
    padding: 0;
    margin: 0;
    background: none;
    color: #000;
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: .3em 1em;
    margin-bottom: 2em; }
    .article__meta button[disabled] {
      color: #000;
      background: none;
      font-weight: bold; }
      .article__meta button[disabled]:hover {
        color: #000;
        background: none;
        text-decoration: none; }
    .article__meta button:hover {
      color: #000;
      background: none; }

.article-buttons {
  margin-bottom: 2rem; }

.article-sidebar {
  font-size: 1em;
  border-top: 2px solid #eee;
  padding-top: 2em;
  font-weight: normal; }

.external-link-button {
  margin-top: 3em; }

/* Links to previous and next articles */
.article__pagination ul {
  list-style: none;
  margin: 2em 0;
  padding: 0; }

@media all and (min-width: 800px) {
  .article__pagination {
    display: flex; } }

.article__pagination ul {
  width: 100%;
  padding: 0; }

.article__pagination li {
  margin: 1em 0;
  flex: 1; }
  .article__pagination li::before {
    display: none; }
  .article__pagination li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 0.5em;
    background: none;
    position: relative;
    transition: all 0.2s linear;
    text-decoration: none; }
  .article__pagination li.article__pagination__previous a {
    padding-right: 1em;
    padding-left: 2.5em; }
    .article__pagination li.article__pagination__previous a::before {
      content: "\00AB";
      position: absolute;
      left: 0.5em;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.5em; }
  .article__pagination li.article__pagination__next a {
    padding-left: 1em;
    padding-right: 2.5em; }
    .article__pagination li.article__pagination__next a::after {
      content: "\00BB";
      position: absolute;
      right: 0.5em;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.5em; }

.article__related {
  color: var(--grey);
  margin: 2em 0 0; }
  .article__related .blog__tags {
    font-size: 1.2em; }

pre[class*="language-"] {
  max-height: 1000px;
  overflow: auto; }

.speaking__heading {
  margin-top: 2.5em; }

.l-conferences {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 4rem 2rem; }
  @media all and (max-width: 640px) {
    .l-conferences {
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      grid-gap: 2em 2em;
      font-size: .9em; } }

.c-conference {
  text-align: left;
  margin: 1em 0;
  font-size: .9em; }

.c-conference__name {
  display: block;
  font-weight: 600;
  font-size: 1.25rem;
  background: none;
  border: none; }

.c-conference__location,
.c-conference__date,
.c-conference__video {
  display: block;
  font-size: .9em;
  color: #444;
  padding-left: 1.75em;
  background-repeat: no-repeat;
  background-size: 1em 1em;
  margin: .5em 0 0;
  background-position: left center; }

.c-conference__location {
  background-image: url(../../images/icons/location.svg); }

.c-conference__date {
  background-image: url(../../images/icons/calendar.svg); }

.c-conference__video {
  color: #000;
  font-weight: bold; }
  .c-conference__video[href=""] {
    display: none; }

.c-conference__type {
  font-weight: 400;
  font-size: .6em;
  display: none; }

/* VIDOE PLAYER */
.ps-video-player--dark {
  background-color: black;
  color: #fff; }

.c-video-player {
  display: flex;
  flex-direction: column-reverse; }
  @media all and (min-width: 50em) {
    .c-video-player {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-column-gap: var(--h-padding); } }

.c-video-player__playlist__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-video-container {
  height: 0;
  width: 100%;
  padding-top: 56.2%;
  position: relative;
  margin-bottom: 2rem;
  grid-column: 1 / 8;
  grid-row: 1; }
  @media all and (min-width: 50em) {
    .c-video-container {
      margin-bottom: 0; } }
  .c-video-container:focus {
    outline-color: var(--color-text-grey); }
  .c-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .c-video-container iframe:focus {
      outline-color: var(--color-text-grey); }

.c-video-player__playlist {
  grid-column: 9 / 13; }

.c-video-player__playlist__item {
  border-top: 1px solid #e5e5e5;
  margin-bottom: 0; }
  .c-video-player__playlist__item:last-of-type {
    border-bottom: 1px solid #e5e5e5; }
  @media all and (max-width: 50em) {
    .c-video-player__playlist__item:first-of-type {
      border-top: none; } }

.c-video-player__playlist__link {
  position: relative;
  z-index: 1;
  display: block;
  cursor: pointer;
  font-weight: normal;
  color: inherit;
  font-size: .85em;
  text-align: left;
  text-decoration: none;
  /* Required for text-overflow to do anything */
  padding: .5rem;
  background-size: 1em 1em;
  background-repeat: no-repeat;
  background-position: right center; }
  .js-video-player .c-video-player__playlist__link {
    background-image: url("../img/video-play-icon--grey.svg"); }
  .c-video-player__playlist__link:hover {
    color: inherit; }
  .ps-video-player--dark .c-video-player__playlist__link {
    color: var(--color-text-grey); }
    .ps-video-player--dark .c-video-player__playlist__link:visited {
      color: var(--color-text-grey); }
  .c-video-player__playlist__link[aria-selected="true"] {
    font-weight: bold; }
  .ps-video-player--dark .c-video-player__playlist__link[aria-selected="true"] {
    color: #fff;
    font-weight: normal; }
  .c-video-player__playlist__link[href]:focus {
    background-repeat: no-repeat;
    outline-color: var(--color-text-grey);
    outline-offset: 5px; }
  .c-video-player__playlist__link:visited {
    color: inherit; }

.press-kit__head {
  text-align: center; }

.press-kit__summary {
  background-color: #fff;
  padding: 2em 2em .5em; }
  .press-kit__summary h3 {
    margin-top: 0; }
  .press-kit__summary dl {
    display: grid;
    grid-template-columns: auto 1fr; }
  .press-kit__summary dt {
    color: #888;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 1em 0;
    font-size: .85em; }

.photo-grid {
  list-style: none;
  margin: 0;
  padding: 0; }
  @media all and (min-width: 640px) {
    .photo-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-auto-rows: 400px;
      grid-gap: 1em;
      grid-auto-flow: dense; } }
  .photo-grid li::before {
    display: none; }
  .photo-grid li a {
    background: none; }
  .photo-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #000; }
    .photo-grid img:hover {
      object-fit: contain; }

form {
  padding: 2em 0; }

input[type="text"],
input[type="email"],
textarea,
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid var(--grey--light);
  border-radius: 5px;
  padding: 0.7em 1em;
  width: 100%;
  transition: all 0.1s ease-out;
  background-color: inherit;
  color: inherit;
  font-family: inherit;
  font-size: 1em; }
  input[type="text"]:active, input[type="text"]:focus,
  input[type="email"]:active,
  input[type="email"]:focus,
  textarea:active,
  textarea:focus,
  select:active,
  select:focus {
    outline: none;
    box-shadow: 0 0 0 2px green; }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  textarea::placeholder,
  select::placeholder {
    color: var(--grey);
    font-style: italic; }

textarea {
  resize: none;
  width: 100%;
  overflow-y: auto;
  min-height: 200px;
  padding: 1em; }

label {
  font-weight: bold;
  cursor: pointer; }

.label-input-combo {
  display: block;
  margin-bottom: 3em; }

.label-text {
  display: block;
  margin-bottom: 0.4em; }

.form-success {
  grid-column: 2 / 12;
  text-align: center;
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center; }

/**
 * custom <select> styles, 2019 Edition 
 * https://www.filamentgroup.com/lab/select-css.html
 *
 */
.custom-select {
  display: block;
  padding: 0.7em 1.4em 0.7em 0.8em;
  width: 100%;
  color: #000 !important;
  max-width: 100%;
  background-color: inherit;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%0A%3Cpath%20fill%3D%22%23777%22%20d%3D%22M9.914%2011.086l-2.829%202.829%208.914%208.914%208.914-8.914-2.828-2.828-6.086%206.086z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A"), linear-gradient(to bottom, inherit 0%, inherit 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 1em top 50%, 0 0;
  background-size: 1.2em auto, 100%; }

.custom-select::-ms-expand {
  display: none; }

.offline-wrapper {
  grid-column: 2 / 12; }

.offline__title {
  text-align: center; }

.link__item {
  margin-bottom: 3em; }

.link__item__title {
  font-weight: normal;
  font-size: 1.25em; }

.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  overflow-x: auto;
  vertical-align: baseline;
  font-family: Consolas, Monaco, Lucida Console, monospace;
  font-weight: 400;
  font-style: normal;
  padding: 0;
  border: none;
  width: 100% !important; }

.syntaxhighlighter .container {
  margin: 0 !important; }

.syntaxhighlighter.source {
  overflow: hidden; }

.syntaxhighlighter .bold {
  font-weight: bold; }

.syntaxhighlighter .italic {
  font-style: italic; }

.syntaxhighlighter .line {
  white-space: prewrap; }

.syntaxhighlighter table caption {
  text-align: left;
  padding: .5em 0; }

.syntaxhighlighter table td.code {
  width: 100%; }

.syntaxhighlighter table td.code .container {
  position: relative; }

.syntaxhighlighter table td.code .container textarea {
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: white;
  padding-left: 1em;
  overflow: hidden;
  white-space: pre; }

.syntaxhighlighter table td.gutter .line {
  text-align: right;
  padding: 0 .5em; }

.syntaxhighlighter table td.code .line {
  padding: 0 1em; }

.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
  padding-left: 0; }

.syntaxhighlighter.show {
  display: block; }

.syntaxhighlighter.collapsed table {
  display: none; }

.syntaxhighlighter.collapsed .toolbar {
  padding: .1em .8em 0 0;
  position: static;
  width: auto;
  height: auto; }

.syntaxhighlighter.collapsed .toolbar span {
  display: inline;
  margin-right: 1em; }

.syntaxhighlighter.collapsed .toolbar span a {
  padding: 0;
  display: none; }

.syntaxhighlighter.collapsed .toolbar span a.expandSource {
  display: inline; }

.syntaxhighlighter .toolbar {
  position: absolute;
  right: 1px;
  top: 1px;
  width: 11px;
  height: 11px;
  z-index: 10; }

.syntaxhighlighter .toolbar span.title {
  display: inline; }

.syntaxhighlighter .toolbar a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding-top: 1px; }

.syntaxhighlighter .toolbar a.expandSource {
  display: none; }

.syntaxhighlighter.ie .toolbar {
  line-height: 8px; }

.syntaxhighlighter.ie .toolbar a {
  padding-top: 0; }

.syntaxhighlighter {
  font-weight: bold;
  background-color: #fff;
  width: 100%;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap; }

.syntaxhighlighter .line.highlighted.number {
  color: black; }

.syntaxhighlighter table caption {
  color: black; }

.syntaxhighlighter .gutter {
  color: #afafaf;
  display: none; }

.syntaxhighlighter .gutter .line {
  border-right: 3px solid #bbb;
  height: 30px;
  line-height: 30px; }

.syntaxhighlighter.printing .line .content {
  border: none; }

.syntaxhighlighter.collapsed {
  overflow: visible; }

.syntaxhighlighter.collapsed .toolbar {
  color: #3498DB;
  background: white;
  border: 1px solid #6ce26c; }

.syntaxhighlighter.collapsed .toolbar a {
  color: #3498DB; }

.syntaxhighlighter.collapsed .toolbar a:hover {
  color: red; }

.syntaxhighlighter .toolbar {
  color: white;
  border: none; }

.syntaxhighlighter .toolbar a {
  color: white;
  border: none !important; }

.syntaxhighlighter .toolbar a:hover {
  color: black; }

.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
  color: #333; }

.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
  color: #5C9238;
  font-style: italic; }

.syntaxhighlighter .string, .syntaxhighlighter .string a {
  color: #3498ff; }

.syntaxhighlighter .keyword {
  color: deepPink; }

.syntaxhighlighter .preprocessor {
  color: gray; }

.syntaxhighlighter .variable {
  color: #a70; }

.syntaxhighlighter .value {
  color: RGB(27, 107, 240); }

.syntaxhighlighter .functions {
  color: #ff1493; }

.syntaxhighlighter .constants {
  color: #06c; }

.syntaxhighlighter .script {
  font-weight: bold;
  color: #3498DB;
  background-color: none; }

.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
  color: #333; }

.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
  color: #ff1493; }

.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
  color: red; }

.syntaxhighlighter {
  display: block;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-size: .95em;
  padding: 1em 0;
  background-color: #fafafa;
  margin: 2em 0 !important;
  max-height: 1000px;
  overflow: auto; }
  @media all and (max-width: 800px) {
    .syntaxhighlighter {
      max-height: 500px; } }

.syntaxhighlighter code {
  background: none;
  bckground-color: transparent;
  padding: 0 !important; }

/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism-funky&languages=markup+css+clike+javascript+markdown+scss&plugins=line-highlight+line-numbers */
/**
 * prism.js Funky theme
 * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/
 * @author Lea Verou
 */
code[class*="language-"],
pre[class*="language-"] {
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }

/* Code blocks */
pre[class*="language-"] {
  padding: 1em .8em 1em;
  margin: 2rem 0;
  overflow: auto;
  background: #000;
  color: #fff;
  background-size: 1em 1em; }
  figure pre[class*="language-"] {
    margin-bottom: 0; }

code[class*="language-"] {
  background: black;
  color: white;
  box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; }

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .2em;
  border-radius: .3em;
  box-shadow: none;
  white-space: normal; }

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #aaa; }

.token.punctuation {
  color: #999; }

.namespace {
  opacity: .7; }

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
  color: #0cf; }

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin {
  color: yellow; }

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.toke.variable,
.token.inserted {
  color: yellowgreen; }

.token.atrule,
.token.attr-value,
.token.keyword {
  color: deeppink; }

.token.regex,
.token.important {
  color: orange; }

.token.important,
.token.bold {
  font-weight: bold; }

.token.italic {
  font-style: italic; }

.token.entity {
  cursor: help; }

.token.deleted {
  color: red; }

pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em; }

.line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  /* Same as .prism’s padding-top */
  background: rgba(153, 122, 102, 0.08);
  background: linear-gradient(to right, rgba(153, 122, 102, 0.1) 70%, rgba(153, 122, 102, 0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre; }

.line-highlight:before,
.line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: rgba(153, 122, 102, 0.4);
  color: #f5f2f0;
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white; }

.line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em; }

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
  content: none; }

pre[class*="language-"].line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber; }

pre[class*="language-"].line-numbers > code {
  position: relative;
  white-space: inherit; }

.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.8em;
  width: 3em;
  /* works for line-numbers below 1000 lines */
  letter-spacing: -1px;
  border-right: 1px solid #999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.line-numbers-rows > span {
  pointer-events: none;
  display: block;
  counter-increment: linenumber; }

.line-numbers-rows > span:before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: 0.8em;
  text-align: right; }

.content-wrapper {
  margin: 0 auto;
  max-width: 95vw; }

@media all and (min-width: 1025px) {
  .content-wrapper,
  .grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem; } }

/*  Component Styles */
ol,
ul {
  padding: 0 1.1rem 1rem;
  margin: 2rem 0; }
  @media all and (max-width: 768px) {
    ol,
    ul {
      padding-left: 1.5em; } }
  ol li,
  ul li {
    margin-bottom: .6rem;
    padding-left: 10px; }
  ol ::marker,
  ul ::marker {
    font-weight: bold; }

ol {
  list-style-type: decimal-leading-zero;
  margin-left: .5em; }

ul {
  list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='.55em' height='.55em' viewBox='0 0 164 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EFill 26%3C/title%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='628' transform='translate(-201.000000, -573.000000)' fill='%230A0B09'%3E%3Cpath d='M244.539,659.723 L244.539,659.723 C245.452,657.813 246.103,656.508 246.842,654.946 C243.583,655.685 243.323,656.206 244.539,659.723 Z M268.216,624.231 L268.216,624.231 C264.915,624.186 263.219,626.447 263.002,631.227 C264.827,628.793 266.478,626.579 268.216,624.231 Z M241.976,642.52 L241.976,642.52 C245.364,637.483 248.536,632.748 251.621,628.099 C244.105,630.053 241.585,634.483 241.976,642.52 Z M316.48,700.04 L316.48,700.04 C320.868,697.564 324.648,695.391 328.428,693.262 C329.557,692.61 330.165,691.829 330.339,690.395 C330.773,687.093 330.078,684.007 329.166,680.837 C326.95,682.358 317.566,696.346 316.48,700.04 Z M265.044,654.946 L265.044,654.946 C268.998,648.645 275.253,644.694 276.774,637.306 C272.604,637.438 269.215,639.264 266.13,641.653 C265.348,642.302 264.523,643.346 264.35,644.346 C263.741,647.648 263.307,651.037 265.044,654.946 Z M240.021,617.323 L240.021,617.323 C238.805,617.888 237.936,618.497 236.937,618.714 C234.851,619.149 233.679,620.451 233.244,622.364 C232.723,624.537 232.68,626.838 233.505,629.359 C236.589,626.838 238.458,623.839 240.325,620.885 C241.629,618.843 242.932,616.715 244.626,615.021 C248.449,611.199 252.446,607.636 256.399,603.988 C256.921,603.467 257.441,602.856 258.485,601.728 C254.401,602.207 251.099,602.38 247.928,603.075 C245.234,603.64 242.498,604.508 240.021,605.769 C236.98,607.29 236.546,608.897 237.675,612.067 C238.24,613.674 239.066,615.195 240.021,617.323 Z M289.676,700.3 L289.676,700.3 C290.588,700.56 291.153,700.821 291.719,700.779 C301.145,700.689 308.835,696.304 315.742,690.482 C320.087,686.789 321.259,681.14 323.345,676.144 C324.083,674.321 323.779,672.106 326.082,671.106 C326.559,670.888 326.863,669.846 326.95,669.152 C327.297,665.763 327.862,662.33 327.689,658.987 C327.559,656.9 327.819,654.338 325.821,652.47 C315.568,669.846 302.883,685.052 289.676,700.3 Z M216.302,611.632 C216.649,612.458 216.909,613.066 217.301,613.979 C217.909,613.24 218.474,612.761 218.734,612.199 C221.124,606.463 225.468,602.335 229.812,598.166 C232.853,595.211 236.068,592.389 239.152,589.389 C243.845,584.828 249.188,581.266 255.357,579.005 C256.139,578.704 257.051,578.443 257.659,577.922 C260.569,575.357 264.35,575.096 267.781,573.923 C271.256,572.752 274.646,574.141 277.816,575.054 C280.162,575.749 282.421,575.791 284.637,575.663 C290.588,575.315 296.584,574.881 302.492,575.967 C305.707,576.53 309.009,577.183 312.006,578.443 C317.871,580.876 323.562,583.741 329.253,586.48 C330.252,586.914 331.208,587.567 331.946,588.348 C336.334,592.604 340.505,597.038 344.979,601.162 C351.409,607.158 355.058,614.587 357.187,622.929 C358.577,628.359 360.228,633.744 361.313,639.264 C362.313,644.475 362.66,649.818 361.053,655.075 C360.662,656.421 360.879,657.768 361.487,659.289 C364.398,666.371 364.876,673.8 363.529,681.272 C363.094,683.661 361.878,686.18 360.314,688.135 C351.8,698.995 342.851,709.552 332.076,718.329 C327.429,722.109 322.606,725.584 316.916,727.799 C312.05,729.709 307.358,732.101 302.536,734.184 C299.277,735.576 295.889,736.618 292.239,735.836 C291.284,735.618 290.241,735.663 289.286,735.836 C279.38,737.704 269.345,737.573 259.354,737.138 C252.402,736.836 245.929,734.316 240.325,730.233 C236.676,727.581 233.157,724.584 230.117,721.283 C224.512,715.201 218.691,709.205 214.346,702.081 C209.438,693.999 204.876,685.833 202.661,676.536 C200.705,668.371 200.662,660.157 201.4,651.818 C202.009,644.822 202.921,638.003 206.701,631.834 C207.265,630.921 207.309,629.533 207.178,628.359 C206.788,624.971 207.787,622.319 210.219,619.843 C212.479,617.497 214.129,614.628 216.302,611.632 L216.302,611.632 Z' id='Fill-26'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

ul.table-list {
  list-style: none;
  padding: 0; }
  ul.table-list li {
    padding: .5em 1em;
    margin: 0; }
  ul.table-list li:nth-of-type(odd) {
    background-color: #ededed; }
  ul.table-list li:nth-of-type(even) {
    background-color: white; }

dt {
  font-weight: 600;
  margin: .5em 0 1em; }

dd {
  padding-left: 2em;
  margin: 0; }

html {
  --color--primary: hsl(261, 38%, 50%);
  --color--dark-purple: #483F58;
  --color--dark-purple--bg: #160d26;
  transition: all 0.1s linear;
  --purple: hsl(261, 38%, 50%);
  --grey: #777;
  --grey--light: #999;
  --grey--lighter: #bbb;
  --grey--lightest: #ddd;
  --red: hsl(10, 65%, 36%);
  --green: hsl(115, 60%, 43%);
  --green--dark: hsl(115, 50%, 25%);
  --purple-gradient: linear-gradient(45deg, #4a4499, #827ad9);
  --yellow-highlight: rgba(236, 188, 46, 0.75); }

.c-slider[data-slider] {
  position: relative;
  background-color: #fff;
  background-color: var(--newspaper);
  padding: 3rem 2rem 2rem;
  font-size: 1.2rem; }

.c-slider__paddleNav {
  width: 100%;
  text-align: center;
  margin-top: 2em; }
  @media all and (max-width: 1024px) {
    .c-slider__paddleNav {
      position: static; } }
  .c-slider__paddleNav button.c-slider__paddleNav__prev {
    text-align: right; }
  .c-slider__paddleNav button.c-slider__paddleNav__next {
    text-align: left; }
  .c-slider__paddleNav button.c-slider__paddleNav__prev,
  .c-slider__paddleNav button.c-slider__paddleNav__next {
    color: inherit;
    font-size: .75em;
    background: none;
    padding: .5em; }
    .c-slider__paddleNav button.c-slider__paddleNav__prev[aria-disabled="true"],
    .c-slider__paddleNav button.c-slider__paddleNav__next[aria-disabled="true"] {
      color: #888; }
    .c-slider__paddleNav button.c-slider__paddleNav__prev[aria-disabled="true"]:hover,
    .c-slider__paddleNav button.c-slider__paddleNav__next[aria-disabled="true"]:hover {
      color: #888; }
    .c-slider__paddleNav button.c-slider__paddleNav__prev:focus:not(:focus-visible),
    .c-slider__paddleNav button.c-slider__paddleNav__next:focus:not(:focus-visible) {
      outline: none; }
    .js-focus-visible .c-slider__paddleNav button.c-slider__paddleNav__prev:focus:not(.focus-visible), .js-focus-visible
    .c-slider__paddleNav button.c-slider__paddleNav__next:focus:not(.focus-visible) {
      outline: none; }

.c-slider__dotNav {
  text-align: center;
  display: flex;
  padding: 1rem 0;
  align-items: center;
  justify-content: center; }
  .c-slider__dotNav:focus, .c-slider__dotNav.focus-visible {
    outline: 2px solid #000;
    outline-offset: 5px; }

.c-slider__dotNav__dot {
  display: inline-block;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  line-height: 0;
  border-radius: 50%;
  background: none;
  color: #000;
  border: 2px dotted transparent; }
  .c-slider__dotNav__dot[aria-selected="true"] {
    color: var(--color--primary); }
  @media screen and (-ms-high-contrast: active) {
    .c-slider__dotNav__dot {
      /* All high contrast styling rules */
      color: windowText; }
      .c-slider__dotNav__dot[aria-selected="true"] {
        color: highlight; } }
  .c-slider__dotNav__dot:focus, .c-slider__dotNav__dot.focus-visible {
    outline: none;
    border-color: var(--color--primary); }
  .c-slider__dotNav__dot:focus:not(:focus-visible) {
    border-color: transparent; }
  .js-focus-visible .c-slider__dotNav__dot:focus:not(.focus-visible) {
    border-color: transparent; }

/* styles for visible labels for the dotnav for voice dictation users */
.c-slider__dotNav__dot {
  position: relative; }
  .c-slider__dotNav__dot .dot-label {
    font-size: .8em;
    display: block;
    line-height: 1.5;
    position: absolute;
    left: 1.25rem;
    transform: translateX(-50%);
    bottom: -2.75rem;
    z-index: 1;
    background-color: #eee;
    padding: .5em 1em;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s linear;
    width: 15rem; }
    .c-slider__dotNav__dot .dot-label::after {
      /* up arrow */
      content: "";
      position: absolute;
      left: 50%;
      margin-left: -1rem;
      top: -.5rem;
      width: 0;
      height: 0;
      border-left: 1rem solid transparent;
      border-right: 1rem solid transparent;
      border-bottom: 1rem solid #eee; }
  .c-slider__dotNav__dot:focus .dot-label, .c-slider__dotNav__dot:hover .dot-label {
    opacity: 1; }
  .c-slider__dotNav__dot:focus:not(:focus-visible) .dot-label {
    opacity: 0; }
  .js-focus-visible .c-slider__dotNav__dot:focus:not(.focus-visible) .dot-label {
    opacity: 0; }

.c-slider__slides-container {
  display: flex; }
  .ps-slider--images .c-slider__slides-container {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; }

.c-slider__slides-wrapper {
  width: 80%;
  display: flex;
  align-items: center;
  transition: transform 0.4s cubic-bezier(0.39, 0.03, 0.56, 0.57); }

.c-slider__slide {
  width: 100%;
  flex-shrink: 0;
  text-align: center;
  margin-bottom: 2rem;
  margin-right: 2rem;
  transition: opacity 0.5s cubic-bezier(0.39, 0.03, 0.56, 0.57), visibility 1s cubic-bezier(0.39, 0.03, 0.56, 0.57); }
  .c-slider__slide[data-hidden="true"] {
    visibility: hidden;
    opacity: 0; }
  .c-slider__slide[data-hidden="false"] {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.2s cubic-bezier(0.39, 0.03, 0.56, 0.57), visibility 0.2s cubic-bezier(0.39, 0.03, 0.56, 0.57); }
  .c-slider__slide:focus {
    outline: 2px solid #000;
    outline-offset: -10px; }

.js-slider .c-slider__slides-container {
  overflow: hidden; }

.js-slider .c-slider__slides-wrapper {
  width: 100%;
  transition: transform 0.4s cubic-bezier(0.39, 0.03, 0.56, 0.57); }

.js-slider .c-slider__slide {
  margin: 0;
  flex-shrink: 0; }

/*  slider testimonials styles */
.c-slider__testimonial {
  border: none;
  margin: 0 auto;
  max-width: 75ch;
  font-weight: 400;
  text-align: left; }
