html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@font-face {
  font-family: "Locale";
  src: url("../fonts/Locale/Locale-Regular.woff2") format("woff2"), url("../fonts/Locale/Locale-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
    font-style-text-rendering: optimizeLegibility; }

@font-face {
  font-family: "Locale";
  src: url("../fonts/Locale/Locale-Bold.woff2") format("woff2"), url("../fonts/Locale/Locale-Bold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
    font-style-text-rendering: optimizeLegibility; }

@font-face {
  font-family: "Locale";
  src: url("../fonts/Locale/Locale-Italic.woff2") format("woff2"), url("../fonts/Locale/Locale-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
    font-style-text-rendering: optimizeLegibility; }

@font-face {
  font-family: "Locale";
  src: url("../fonts/Locale/Locale-BoldItalic.woff2") format("woff2"), url("../fonts/Locale/Locale-BoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
    font-style-text-rendering: optimizeLegibility; }

@font-face {
  font-family: "Locale Mono";
  src: url("../fonts/Locale Mono/LocaleMono-Regular.woff2") format("woff2"), url("../fonts/Locale/LocaleMono-Regular.woff") format("woff");
  font-weight: 400;
    font-weight-text-rendering: optimizeLegibility; }

body {
  --c-dark: 17,17,17;
  --c-purple: 118,93,245;
  --c-teal: 0,229,153;
  --c-yellow: 255,211,51;
  --c-orange: 255,126,68;
  --c-red: 255,64,96;
  --c-pink: 253,67,145;
  --c-light: 229,229,229;
  --c-primary: var(--c-purple); }

* {
  box-sizing: border-box; }

body {
  --color: var(--c-dark);
  --bg: var(--c-primary); }
  body .border section, body .product-row {
    box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1); }
  body hr {
    height: 1px;
    width: 100%;
    box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1);
    border: none;
    padding-bottom: 2rem; }
  body .plugin-controls a, body .plugin-content {
    color: rgba(var(--bg), 1); }
  body .theme-list {
    background: rgba(var(--color), 1); }
    body .theme-list.showing a.active {
      box-shadow: inset 0 0 0 2px rgba(var(--color), 1), 0 0 0 1px rgba(var(--color), 1), 0 0 0 2px rgba(var(--bg), 1); }

body.dark-mode {
  --color: var(--c-primary);
  --bg: var(--c-dark); }
  body.dark-mode .border section, body.dark-mode .product-row {
    box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1); }
  body.dark-mode hr {
    height: 1px;
    width: 100%;
    box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1);
    border: none;
    padding-bottom: 2rem; }
  body.dark-mode .plugin-controls a, body.dark-mode .plugin-content {
    color: rgba(var(--color), 1); }
  body.dark-mode .theme-list {
    background: rgba(var(--bg), 1);
    box-shadow: inset 0 0 0 1px rgba(var(--color), 0.1); }
    body.dark-mode .theme-list.showing a.active {
      box-shadow: inset 0 0 0 2px rgba(var(--bg), 1), 0 0 0 1px rgba(var(--bg), 1), 0 0 0 2px rgba(var(--color), 1); }

@media (prefers-color-scheme: dark) {
  body {
    --color: var(--c-primary);
    --bg: var(--c-dark); }
    body .border section, body .product-row {
      box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1); }
    body hr {
      height: 1px;
      width: 100%;
      box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1);
      border: none;
      padding-bottom: 2rem; }
    body .plugin-controls a, body .plugin-content {
      color: rgba(var(--color), 1); }
    body .theme-list {
      background: rgba(var(--bg), 1);
      box-shadow: inset 0 0 0 1px rgba(var(--color), 0.1); }
      body .theme-list.showing a.active {
        box-shadow: inset 0 0 0 2px rgba(var(--bg), 1), 0 0 0 1px rgba(var(--bg), 1), 0 0 0 2px rgba(var(--color), 1); }
  body.light-mode {
    --color: var(--c-dark);
    --bg: var(--c-primary); }
    body.light-mode .border section, body.light-mode .product-row {
      box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1); }
    body.light-mode hr {
      height: 1px;
      width: 100%;
      box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1);
      border: none;
      padding-bottom: 2rem; }
    body.light-mode .plugin-controls a, body.light-mode .plugin-content {
      color: rgba(var(--bg), 1); }
    body.light-mode .theme-list {
      background: rgba(var(--color), 1); }
      body.light-mode .theme-list.showing a.active {
        box-shadow: inset 0 0 0 2px rgba(var(--color), 1), 0 0 0 1px rgba(var(--color), 1), 0 0 0 2px rgba(var(--bg), 1); } }

body {
  background: rgba(var(--bg), 1);
  color: rgba(var(--color), 1);
  font-family: 'Locale', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  font-size: 16px;
  font-style: regular;
  padding-bottom: 2rem; }
  @media (min-width: 640px) {
    body {
      font-size: 16px; } }
::-moz-selection {
  color: rgba(var(--bg), 1);
  background: rgba(var(--color), 1); }
::selection {
  color: rgba(var(--bg), 1);
  background: rgba(var(--color), 1); }

h1, p, a {
  color: rgba(var(--color), 1); }

p, li {
  line-height: 150%; }

p.italic {
  font-style: italic; }

p.content {
  padding: 2rem 0 0; }

code {
  font-family: 'Locale Mono', monospace;
  font-size: .95rem;
  background: rgba(var(--color), 0.1);
  padding: .125rem .25rem;
  border-radius: 4px;
  letter-spacing: -0.025rem; }

ol {
  margin-left: 1.25rem; }

ul {
  list-style: none;
  margin-left: 2rem; }
  ul li span {
    position: relative;
    margin-right: .5rem;
    margin-left: -1.75rem; }
  ul.fig li span {
    margin-right: 0; }
  ul li {
    margin-left: 0; }

.caps {
  text-transform: uppercase !important; }

.fig {
  font-style: italic;
  opacity: 1;
  padding-bottom: 0;
  color: rgba(var(--color), 1); }
  @media (min-width: 900px) {
    .fig {
      padding-bottom: 1rem; } }
p strong, p.strong {
  font-weight: 600; }

.visually-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.mobile-only-hide {
  display: none; }
  @media (min-width: 640px) {
    .mobile-only-hide {
      display: block; } }
.container {
  max-width: 1600px;
  margin: auto;
  padding: 0 1rem; }
  @media (min-width: 900px) {
    .container {
      padding: 0 4rem; } }
  .container header {
    position: static; }

.hero {
  padding: 4vh 0 !important; }
  @media (min-width: 900px) {
    .hero {
      padding: 8vh 0 2vh !important; } }
  .hero p.content {
    padding: 2rem 0; }

.flowkit-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center; }
  .flowkit-grid.content > *:first-child {
    grid-column: 1 / span 2; }
  .flowkit-grid.right .content-stack p {
    text-align: right !important; }

.flowkit-grid.content.reverse > *:first-child {
  grid-column: 1 / span 6; }

.flowkit-grid.content.reverse > *:last-child {
  grid-column: 1 / span 6; }

@media (min-width: 900px) {
  .flowkit-grid.content.reverse > *:last-child {
    grid-column: 1 / span 3; }
  .flowkit-grid.content.reverse > *:first-child {
    grid-column: 4 / span 3;
    grid-row: 1; } }

.content-stack {
  max-width: 360px;
  margin: auto; }

.hero-plugs, .plug {
  justify-self: center; }

.hero-plug-auto {
  position: absolute;
  -webkit-transform: translate(-20px, 112px);
          transform: translate(-20px, 112px);
  z-index: 500; }
  @media (min-width: 900px) {
    .hero-plug-auto {
      -webkit-transform: translate(-80px, 112px);
              transform: translate(-80px, 112px); } }
.hero-plug-manual {
  -webkit-transform: translateX(20px);
          transform: translateX(20px); }
  @media (min-width: 900px) {
    .hero-plug-manual {
      -webkit-transform: translateX(0);
              transform: translateX(0); } }
.flowkit-grid.content {
  padding: 4vh 0; }
  .flowkit-grid.content > *:first-child {
    grid-column: 1 / span 6; }
  .flowkit-grid.content > *:last-child {
    grid-column: 1 / span 6;
    grid-row: 2; }
  @media (min-width: 900px) {
    .flowkit-grid.content > *:first-child {
      grid-column: 1 / span 3; }
    .flowkit-grid.content > *:last-child {
      grid-column: 4 / span 3;
      grid-row: 1; } }
.centered {
  text-align: center !important; }

section.tryit.flowkit-grid .cta-group {
  grid-column: 1 / span 12; }
  @media (min-width: 900px) {
    section.tryit.flowkit-grid .cta-group {
      grid-column: 5 / span 4; } }
footer {
  box-shadow: inset 0 1px 0 0 rgba(var(--color), 0.1);
  display: grid;
  grid-template-columns: 1fr;
  padding: 2rem 0;
  margin: 10vh 0 0;
  grid-gap: 4rem; }
  @media (min-width: 640px) {
    footer {
      grid-template-columns: 1fr auto;
      grid-gap: 8rem; } }
  @media (min-width: 900px) {
    footer {
      margin-top: 16vh; } }
  footer .colophon {
    align-self: right;
    padding-right: 1rem; }
  footer .copyright {
    display: inline; }
  footer p {
    padding: 0;
    line-height: 140%; }
  footer ul {
    margin-left: 0 !important; }
    footer ul li {
      display: inline;
      padding-right: 1rem; }
  footer a {
    text-decoration: none;
    box-shadow: inset 0 -1px 0 0 rgba(var(--color), 1);
    transition: all .25s ease-out; }
    footer a:hover {
      box-shadow: inset 0 -1.125em 0 0 rgba(var(--color), 1);
      color: rgba(var(--bg), 1);
      transition: all .25s ease-out; }

header {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  grid-gap: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: rgba(var(--bg), 1);
  z-index: 1000;
  max-width: 1600px;
  margin: auto; }
  @media (min-width: 900px) {
    header {
      padding: 2rem 4rem;
      grid-template-columns: auto 1fr auto auto auto; } }
  header svg {
    padding-bottom: 4px;
    position: relative;
    top: 0px;
    width: 100%;
    height: 100%;
    transition: all .25s ease-out; }
  header .logo {
    width: 24px;
    height: 24px;
    position: relative;
    top: -2px;
    transition: all .25s ease-out; }
    @media (min-width: 640px) {
      header .logo {
        width: 28px;
        height: 28px;
        top: 0; } }
    header .logo:hover {
      -webkit-transform: scale(1.1) rotate(-5deg);
              transform: scale(1.1) rotate(-5deg);
      transition: all .25s ease-out; }

header.theme-list-showing,
header.interior.theme-list-showing {
  grid-template-columns: 1fr auto auto auto !important; }
  header.theme-list-showing nav,
  header.interior.theme-list-showing nav {
    display: none; }
    @media (min-width: 640px) {
      header.theme-list-showing nav,
      header.interior.theme-list-showing nav {
        display: block; } }
  @media (min-width: 640px) {
    header.theme-list-showing,
    header.interior.theme-list-showing {
      grid-template-columns: auto 1fr auto auto auto !important; } }
.header-scrolled nav,
.header-hovered nav,
header.interior nav {
  -webkit-transform: translateX(0);
          transform: translateX(0); }
  .header-scrolled nav a:last-child,
  .header-hovered nav a:last-child,
  header.interior nav a:last-child {
    opacity: 1;
    pointer-events: auto;
    transition: all .25s ease-out; }

header.interior {
  grid-template-columns: auto 1fr auto auto auto !important; }
  header.interior .switch-grid {
    display: none; }

nav {
  align-self: center;
  justify-self: right;
  -webkit-transform: translateX(3.5em);
          transform: translateX(3.5em);
  transition: all .25s ease-out; }
  @media (min-width: 900px) {
    nav {
      -webkit-transform: translateX(4em);
              transform: translateX(4em); } }
  nav a {
    display: inline-block;
    text-align: right;
    text-decoration: none;
    box-shadow: 0 0 0 0 rgba(var(--color), 1);
    margin-right: 1.75rem;
    top: -2px;
    position: relative; }
    nav a.fig {
      padding: 0; }
    nav a:last-child {
      margin-right: .5rem; }
    @media (min-width: 900px) {
      nav a {
        top: -2px;
        margin-right: 2.5rem; }
        nav a:last-child {
          margin-right: 1.25rem; }
        nav a.fig {
          padding: 4px 0 0; } }
    nav a:last-child {
      font-weight: 600;
      opacity: 0;
      pointer-events: none; }
    nav a:hover span {
      -webkit-transform: translate(4px, -8px);
              transform: translate(4px, -8px); }
    nav a span {
      font-size: 1em;
      position: relative;
      -webkit-transform: translate(0, -4px);
              transform: translate(0, -4px);
      display: inline-block;
      transition: all .25s ease-out; }

.switch-mode {
  position: relative;
  margin-right: .25rem;
  padding: 1rem 0; }
  @media (min-width: 640px) {
    .switch-mode {
      margin-right: 0;
      display: block; } }
#switch[type=checkbox] {
  height: 0;
  width: 0;
  visibility: hidden;
  margin: 0 !important;
  padding: 0 !important; }

#switch-label {
  cursor: pointer;
  text-indent: -9999px;
  width: 22px;
  height: 12px;
  background: none;
  display: block;
  border-radius: 24px;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(var(--color), 1);
  z-index: 1000;
  top: -2px;
  transition: all .25s ease-out; }
  @media (min-width: 900px) {
    #switch-label {
      top: 0; } }
#switch-label:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  background: rgba(var(--color), 1);
  border-radius: 24px;
  transition: 0.2s;
  transition: all .25s ease-out; }

input:checked + #switch-label {
  background: transparent; }

input:checked + #switch-label:after {
  left: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

.switch-theme {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  top: -2px;
  margin-right: -1rem;
  padding: .5rem; }
  @media (min-width: 900px) {
    .switch-theme {
      top: 0;
      margin-left: 1rem; } }
  .switch-theme .circle {
    width: 12px;
    height: 12px;
    background: rgba(var(--color), 1);
    border-radius: 50%;
    display: block;
    position: relative;
    top: 0;
    transition: all .25s ease-out; }
  .switch-theme .arrow {
    width: 12px;
    height: 12px;
    transition: all .25s ease-out; }
    .switch-theme .arrow:before, .switch-theme .arrow:after {
      position: relative;
      top: 0;
      left: 0;
      content: "";
      display: block;
      width: 5px;
      height: 1px;
      border-radius: 2px;
      background: rgba(var(--color), 1);
      -webkit-transform-origin: center center;
              transform-origin: center center;
      transition: all .25s ease-out; }
    .switch-theme .arrow:before {
      -webkit-transform: translate(6px, 6px) rotate(45deg);
              transform: translate(6px, 6px) rotate(45deg); }
    .switch-theme .arrow:after {
      -webkit-transform: translate(9px, 5px) rotate(-45deg);
              transform: translate(9px, 5px) rotate(-45deg); }
  .switch-theme.showing {
    margin-right: 0;
    grid-template-columns: 1fr;
    margin-left: -.25rem; }
    .switch-theme.showing .circle {
      display: none; }
    .switch-theme.showing .arrow {
      -webkit-transform: translateY(2px);
              transform: translateY(2px); }
      .switch-theme.showing .arrow:before, .switch-theme.showing .arrow:after {
        -webkit-transform-origin: center center;
                transform-origin: center center;
        width: 12px;
        height: 1px;
        transition: all .25s ease-out; }
      .switch-theme.showing .arrow:before {
        -webkit-transform: translate(4px, 5px) rotate(135deg);
                transform: translate(4px, 5px) rotate(135deg); }
      .switch-theme.showing .arrow:after {
        -webkit-transform: translate(4px, 4px) rotate(-135deg);
                transform: translate(4px, 4px) rotate(-135deg); }
      @media (min-width: 900px) {
        .switch-theme.showing .arrow {
          -webkit-transform: translateY(0);
                  transform: translateY(0); } }
.theme-list {
  position: relative;
  padding: 1rem 1.5rem;
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
  display: none;
  margin-left: 1rem;
  grid-gap: .25rem;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-animation-name: menuIn;
          animation-name: menuIn;
  -webkit-animation-duration: .25s;
          animation-duration: .25s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  transition: all .25s ease-out; }
  @media (min-width: 900px) {
    .theme-list {
      padding: .75rem 1rem;
      -webkit-transform: translateY(0);
              transform: translateY(0); } }
  .theme-list.showing {
    border-radius: 24px;
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 1.25rem;
    margin-left: .25rem;
    display: inline-grid;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    top: -2px;
    transition: all .25s ease-out; }
    @media (min-width: 900px) {
      .theme-list.showing {
        grid-gap: .75rem;
        top: 0;
        margin-left: 1rem; } }
    .theme-list.showing a {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      transition: all .25s ease-out; }
  .theme-list a {
    grid-gap: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    font-size: 14px;
    text-decoration: none;
    -webkit-transform: translateX(1rem);
            transform: translateX(1rem);
    -webkit-animation-name: menuIn;
            animation-name: menuIn;
    -webkit-animation-duration: .25s;
            animation-duration: .25s;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    opacity: 0;
    transition: all .25s ease-out; }
    .theme-list a.purple {
      background: #8e78ff; }
    .theme-list a.teal {
      background: #00E599; }
    .theme-list a.yellow {
      background: #FFD333; }
    .theme-list a.orange {
      background: #FF7E44; }
    .theme-list a.red {
      background: #FF4060; }
    .theme-list a.pink {
      background: #E52EE5; }
    .theme-list a.light {
      background: #e5e5e5; }

.theme-list.showing a:nth-child(1) {
  -webkit-animation-delay: 0;
          animation-delay: 0; }

.theme-list.showing a:nth-child(2) {
  -webkit-animation-delay: .025s;
          animation-delay: .025s; }

.theme-list.showing a:nth-child(3) {
  -webkit-animation-delay: .05s;
          animation-delay: .05s; }

.theme-list.showing a:nth-child(4) {
  -webkit-animation-delay: .075s;
          animation-delay: .075s; }

.theme-list.showing a:nth-child(5) {
  -webkit-animation-delay: .1s;
          animation-delay: .1s; }

.theme-list.showing a:nth-child(6) {
  -webkit-animation-delay: .125s;
          animation-delay: .125s; }

@-webkit-keyframes menuIn {
  from {
    -webkit-transform: translateX(1rem);
            transform: translateX(1rem);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes menuIn {
  from {
    -webkit-transform: translateX(1rem);
            transform: translateX(1rem);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

.flow-snake-container {
  position: relative; }

.flow-snake {
  display: inline-grid !important;
  transition: all .25s ease-out;
  box-shadow: inset 0 0 0 0 rgba(var(--color), 0.2);
  margin: 0;
  width: 100%; }
  .flow-snake > div {
    display: none !important;
    box-shadow: inset 0 0 0 0 rgba(var(--color), 0.2);
    transition: all .25s ease-out;
    position: relative; }
    @media (min-width: 900px) {
      .flow-snake > div {
        display: block !important;
        margin: 0; } }
    .flow-snake > div:nth-child(2) {
      display: block !important;
      grid-column: 1 / span 6; }
      .flow-snake > div:nth-child(2) .cap-snake-arrow {
        display: block; }
      @media (min-width: 900px) {
        .flow-snake > div:nth-child(2) {
          grid-column: 2 / span 1; }
          .flow-snake > div:nth-child(2) .cap-snake-arrow {
            display: none !important; } }
    .flow-snake > div p {
      position: absolute;
      top: .5rem;
      left: .5rem;
      color: rgba(var(--color), 0.5);
      font-size: 8px;
      padding: 4px 8px;
      background: rgba(var(--bg), 1);
      z-index: 100;
      display: none; }
  @media (min-width: 900px) {
    .flow-snake {
      display: grid;
      grid-template-columns: repeat(6, 1fr); } }
.flow-reverse > div {
  display: none !important; }
  @media (min-width: 900px) {
    .flow-reverse > div {
      display: block !important; } }
  .flow-reverse > div:nth-child(5) {
    display: block !important;
    grid-column: 1 / span 6; }
    .flow-reverse > div:nth-child(5) .cap-snake-arrow {
      display: block; }
    @media (min-width: 900px) {
      .flow-reverse > div:nth-child(5) {
        grid-column: 5 / span 1; }
        .flow-reverse > div:nth-child(5) .cap-snake-arrow {
          display: none !important; } }
.box {
  position: relative;
  margin: auto;
  pointer-events: none; }
  @media (min-width: 900px) {
    .box {
      margin: 0;
      height: 100% !important;
      width: -webkit-fill-available !important; } }
  .box .cap {
    color: var(--text-color);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .box .cap svg {
      width: 50px;
      height: 50px; }
  .box .cap-left {
    left: -25px; }
  .box .cap-right {
    right: -25px;
    -webkit-transform: translateY(-50%) scale(-1, -1);
            transform: translateY(-50%) scale(-1, -1); }
  .box .cap-top {
    top: 0 !important;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg) !important;
            transform: translateX(-50%) translateY(-50%) rotate(-90deg) !important; }
  .box .cap-bottom {
    top: auto !important;
    bottom: 0 !important;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) !important;
            transform: translateX(-50%) translateY(-50%) !important; }
  .box .cap-rotate {
    -webkit-transform: scaleX(-1) translateY(-50%);
            transform: scaleX(-1) translateY(-50%); }
  .box .cap-down {
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: rotate(90deg) translateX(50%) translateY(50%);
            transform: rotate(90deg) translateX(50%) translateY(50%); }
  .box .cap-snake-arrow {
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(50%) rotate(90deg);
            transform: translateX(-50%) translateY(50%) rotate(90deg); }
  .box .cap-snake-arrow-reverse {
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(50%) rotate(180deg);
            transform: translateX(-50%) translateY(50%) rotate(180deg); }
  .box .cap-up {
    top: 0px;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%); }
  .box svg {
    width: 100%;
    padding-bottom: 0; }
    @media (min-width: 900px) {
      .box svg {
        height: auto; } }
    .box svg path {
      stroke-width: 2; }
  .box.curve-left svg {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg); }
  .box.curve-left.flip svg {
    -webkit-transform: rotate(-180deg) scale(-1, 1);
            transform: rotate(-180deg) scale(-1, 1); }
  .box.horizontal svg {
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1); }
  .box.curve-right svg {
    -webkit-transform: rotate(90deg) scaleX(-1);
            transform: rotate(90deg) scaleX(-1); }
  .box.curve-right.flip svg {
    -webkit-transform: rotate(90deg) scale(-1, -1);
            transform: rotate(90deg) scale(-1, -1); }

.animate-stroke .flow-line {
  stroke-dasharray: 4, 12;
  stroke-dashoffset: 0;
  transition: stroke-dasharray 0.25s;
  -webkit-animation: strokeDance 360s infinite linear;
          animation: strokeDance 360s infinite linear; }

.animate-stroke-reverse .flow-line {
  stroke-dasharray: 4, 12;
  stroke-dashoffset: 0;
  transition: stroke-dasharray 0.25s;
  -webkit-animation: strokeDanceReverse 360s infinite linear;
          animation: strokeDanceReverse 360s infinite linear; }

@-webkit-keyframes strokeDance {
  0%, 100% {
    stroke-dashoffset: 0; }
  50% {
    stroke-dashoffset: 6000; } }

@keyframes strokeDance {
  0%, 100% {
    stroke-dashoffset: 0; }
  50% {
    stroke-dashoffset: 6000; } }

@-webkit-keyframes strokeDanceReverse {
  0%, 100% {
    stroke-dashoffset: 0; }
  50% {
    stroke-dashoffset: -6000; } }

@keyframes strokeDanceReverse {
  0%, 100% {
    stroke-dashoffset: 0; }
  50% {
    stroke-dashoffset: -6000; } }

.pre-cta div:nth-child(14) .cap-snake-arrow {
  display: none; }

.flow-grid-cta {
  color: var(--text-color);
  display: inline-grid;
  height: auto;
  grid-template-columns: 1fr;
  margin: 4rem auto 0;
  position: relative;
  top: -1px;
  width: 100%;
  z-index: 1000; }
  @media (min-width: 900px) {
    .flow-grid-cta {
      margin: auto;
      display: grid;
      grid-template-columns: repeat(6, 1fr); } }
  .flow-grid-cta > div {
    display: none; }
    .flow-grid-cta > div:before {
      top: -4px; }
    @media (min-width: 900px) {
      .flow-grid-cta > div {
        display: block; } }
  .flow-grid-cta p {
    display: none; }
  .flow-grid-cta .box:nth-child(15) {
    display: block !important;
    grid-column: 1 / span 12;
    pointer-events: auto; }
    @media (min-width: 900px) {
      .flow-grid-cta .box:nth-child(15) {
        grid-column: inherit; } }
  .flow-grid-cta .cta-grid {
    position: relative;
    display: block !important;
    z-index: 500;
    width: 300%;
    left: -100%;
    cursor: pointer; }
    @media (min-width: 900px) {
      .flow-grid-cta .cta-grid {
        width: 150%;
        top: 50%;
        left: -50%;
        -webkit-transform: translate(50%, -50%);
                transform: translate(50%, -50%); } }
.plugin-display {
  display: grid;
  grid-template-columns: repeat(3, 1fr); }

.plugin {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 11px;
  font-weight: 500;
  background: white;
  width: 100%;
  min-width: 297px;
  margin: 4rem auto;
  border-radius: 4px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.05), 0 4px 6px 0 rgba(0, 0, 0, 0.05), 0 8px 10px 0 rgba(0, 0, 0, 0.05), 0 14px 18px 0 rgba(0, 0, 0, 0.05), 0 26px 32px 0 rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05); }
  .plugin p, .plugin a {
    color: #333;
    text-decoration: none;
    line-height: 100%; }
  .plugin a {
    cursor: default;
    padding: 6px 8px;
    border-radius: 4px;
    display: inl0ine-block;
    transition: all .25s ease-out; }
    .plugin a.selected {
      color: #333;
      background: #F0F0F0; }

.plugin-header {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  box-shadow: 0 1px 0 0 #f0f0f0;
  align-items: center;
  grid-gap: 8px; }
  .plugin-header p {
    font-weight: 600; }
  .plugin-header .plugin-close {
    justify-self: end; }

.plugin-nav {
  padding: 8px 0 7px 16px;
  overflow: hidden;
  box-shadow: 0 1px 0 0 #f0f0f0;
  position: relative; }
  .plugin-nav:before {
    position: absolute;
    content: "";
    display: block;
    height: 100%;
    width: 16px;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
    top: 1px;
    left: 0;
    z-index: 100; }
  .plugin-nav:after {
    position: absolute;
    content: "";
    display: block;
    height: 100%;
    width: 16px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white);
    top: 1px;
    right: 0; }
  .plugin-nav ul {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: 0; }
    .plugin-nav ul li {
      display: inline-block; }
  .plugin-nav a {
    font-weight: 600;
    color: #959595;
    display: inline-block; }

.plugin-arrows {
  margin: 8px 0 4px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-right: 1rem;
  position: relative; }
  .plugin-arrows:before {
    position: absolute;
    content: "";
    display: block;
    width: 67px;
    height: 16px;
    top: 0;
    background: #F0F0F0;
    border-radius: 4px;
    z-index: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-animation: selectedArrow 8s infinite ease-in-out;
            animation: selectedArrow 8s infinite ease-in-out;
    -webkit-animation-delay: 2s;
            animation-delay: 2s; }
  .plugin-arrows .arrow {
    text-align: center;
    padding: 4px;
    z-index: 1; }
  .plugin-arrows .arrow-down svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .plugin-arrows .arrow-left svg {
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1); }
  .plugin-arrows .arrow-up svg {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

.plugin-glyphs .plugin-nav ul,
.plugin-annotate .plugin-nav ul {
  -webkit-transform: translateX(-48px);
          transform: translateX(-48px); }

.plugin-controls {
  padding: .5rem 1rem;
  display: grid;
  grid-template-columns: repeat(5, auto); }
  .plugin-controls a {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
    text-align: center; }
    .plugin-controls a:nth-child(4), .plugin-controls a:nth-child(5) {
      justify-self: end; }
    .plugin-controls a p {
      position: absolute;
      top: 10px;
      right: 12px; }

.plugin-blocks .plugin-controls a:nth-child(4),
.plugin-glyphs .plugin-controls a:nth-child(4),
.plugin-annotate .plugin-controls a:nth-child(4) {
  opacity: 0; }

.plugin-content .plugin-auto p {
  color: #959595;
  text-align: center;
  padding: 1rem 0 1.75rem; }

.plugin-manual .plugin-grid .block svg {
  -webkit-animation: rotateArrows 8s infinite ease-in-out;
          animation: rotateArrows 8s infinite ease-in-out;
  -webkit-animation-delay: 2s;
          animation-delay: 2s; }

.plugin-blocks .plugin-grid .block:nth-child(1) svg,
.plugin-glyphs .plugin-grid .block:nth-child(1) svg {
  -webkit-animation-delay: 0;
          animation-delay: 0; }

.plugin-blocks .plugin-grid .block:nth-child(2) svg,
.plugin-glyphs .plugin-grid .block:nth-child(2) svg {
  -webkit-animation-delay: .25s;
          animation-delay: .25s; }

.plugin-blocks .plugin-grid .block:nth-child(3) svg,
.plugin-glyphs .plugin-grid .block:nth-child(3) svg {
  -webkit-animation-delay: .5s;
          animation-delay: .5s; }

.plugin-blocks .plugin-grid .block:nth-child(4) svg,
.plugin-glyphs .plugin-grid .block:nth-child(4) svg {
  -webkit-animation-delay: .75s;
          animation-delay: .75s; }

.plugin-blocks .plugin-grid .block:nth-child(5) svg,
.plugin-glyphs .plugin-grid .block:nth-child(5) svg {
  -webkit-animation-delay: 1s;
          animation-delay: 1s; }

.plugin-blocks .plugin-grid .block:nth-child(6) svg,
.plugin-glyphs .plugin-grid .block:nth-child(6) svg {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s; }

.plugin-blocks .plugin-grid .block svg,
.plugin-glyphs .plugin-grid .block svg {
  -webkit-animation: scalePulse 1s infinite ease-in-out;
          animation: scalePulse 1s infinite ease-in-out; }

@-webkit-keyframes rotateArrows {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  5%, 20% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  25%, 40% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  45%, 60% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  65%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotateArrows {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  5%, 20% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  25%, 40% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  45%, 60% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  65%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes selectedArrow {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  5%, 20% {
    -webkit-transform: translateX(67px);
            transform: translateX(67px); }
  25%, 40% {
    -webkit-transform: translateX(134px);
            transform: translateX(134px); }
  45%, 60% {
    -webkit-transform: translateX(198px);
            transform: translateX(198px); }
  65%, 100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }

@keyframes selectedArrow {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  5%, 20% {
    -webkit-transform: translateX(67px);
            transform: translateX(67px); }
  25%, 40% {
    -webkit-transform: translateX(134px);
            transform: translateX(134px); }
  45%, 60% {
    -webkit-transform: translateX(198px);
            transform: translateX(198px); }
  65%, 100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }

@-webkit-keyframes scalePulse {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

@keyframes scalePulse {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

.plugin-grid {
  padding: 8px 16px 16px; }
  .plugin-grid .blocks {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-gap: 10px; }
  .plugin-grid .block {
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px #F0F0F0;
    display: grid;
    align-items: center;
    justify-items: center;
    width: auto;
    height: 70px; }
  .plugin-grid .cap-swap {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: top;
    padding: 12px 0 4px;
    grid-gap: 12px; }
    .plugin-grid .cap-swap p {
      box-shadow: inset 0 0 0 1px #F0F0F0;
      padding: 8px 12px;
      line-height: 130%;
      border-radius: 4px;
      display: inline-block; }
      .plugin-grid .cap-swap p svg {
        float: right;
        position: relative;
        top: 4px; }
    .plugin-grid .cap-swap svg {
      justify-self: center; }

.plugin-manual .plugin-grid {
  padding: 8px 16px; }

.cta {
  padding: 4px;
  border-radius: 12px;
  text-decoration: none;
  display: block;
  text-align: center;
  line-height: 200%;
  margin-bottom: 1rem;
  position: relative;
  transition: all .25s ease-out; }
  .cta:last-child {
    margin-bottom: 0; }
  .cta svg {
    position: absolute;
    top: 8px;
    left: 10px;
    width: initial !important; }
    .cta svg path {
      stroke-width: 1.5px; }
  .cta:hover span {
    -webkit-transform: translate(4px, -4px);
            transform: translate(4px, -4px); }

.cta-primary {
  background: rgba(var(--color), 1);
  color: rgba(var(--bg), 1);
  font-weight: 600;
  box-shadow: none !important;
  transition: all .25s ease-out; }
  .cta-primary:hover {
    color: rgba(var(--bg), 1);
    box-shadow: 0 0 0 1px rgba(var(--color), 1) !important;
    transition: all .25s ease-out; }

.cta-secondary {
  color: rgba(var(--color), 1);
  box-shadow: inset 0 0 0 1px rgba(var(--color), 1) !important;
  transition: all .25s ease-out; }
  .cta-secondary:hover {
    color: rgba(var(--color), 1) !important;
    box-shadow: inset 0 0 0 2px rgba(var(--color), 1) !important;
    transition: all .25s ease-out; }

.cta-group {
  margin-top: 2rem; }

.form {
  padding-top: 0;
  padding-bottom: 0rem;
  width: 100%; }
  @media (min-width: 900px) {
    .form {
      min-width: 22rem;
      max-width: 28rem; } }
  .form p {
    padding-bottom: 2rem;
    line-height: 1.5em; }
    .form p strong {
      color: white;
      font-weight: bold; }

form {
  margin: 0; }
  @media (min-width: 1280px) {
    form {
      padding: 1rem 0; } }
.formkit-fields {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 0;
  grid-row-gap: 0; }
  .formkit-fields .formkit-field {
    border-radius: 12px; }

.form-label {
  box-shadow: inset 0 0 0 2px rgba(var(--bg), 0) !important;
  margin-bottom: 0;
  transition: all .25s ease-out; }
  .form-label:hover {
    box-shadow: inset 0 0 0 2px rgba(var(--bg), 1) !important;
    transition: all .25s ease-out; }
  .form-label .inp {
    position: relative;
    margin: auto;
    width: 100%; }
    .form-label .inp .label {
      position: absolute;
      top: -.325rem;
      left: 1rem;
      font-size: 1rem;
      color: rgba(var(--color), 1);
      font-weight: 400;
      -webkit-transform-origin: 0 0;
              transform-origin: 0 0;
      cursor: text;
      pointer-events: none;
      transition: all .25s ease-out; }
      @media (min-width: 640px) {
        .form-label .inp .label {
          left: 1rem; } }
    .form-label .inp input {
      -webkit-appearance: none;
      caret-color: rgba(var(--color), 1);
      color: rgba(var(--color), 1);
      position: relative;
      width: 100%;
      border: 0;
      top: 0;
      padding-top: 1rem;
      text-indent: 1rem;
      height: 4rem;
      background: none;
      font-weight: 600;
      text-align: left;
      font-size: 1rem;
      font-family: 'Locale', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      transition: all .25s ease-out; }
      .form-label .inp input.name {
        border-radius: 12px 12px 0 0;
        box-shadow: inset 1px 1px 0 0 rgba(var(--color), 0.1), inset -1px 0 0 0 rgba(var(--color), 0.1); }
      .form-label .inp input.email {
        border-radius: 0 0 12px 12px;
        margin-top: -1px;
        box-shadow: inset 0 0 0 1px rgba(var(--color), 0.1); }
      .form-label .inp input:not(:-moz-placeholder-shown) + span {
        color: rgba(var(--color), 1);
        transform: translateY(-0.75rem) scale(0.75);
        -moz-transition: all .25s ease-out;
        transition: all .25s ease-out; }
      .form-label .inp input:not(:placeholder-shown) + span {
        color: rgba(var(--color), 1);
        -webkit-transform: translateY(-0.75rem) scale(0.75);
                transform: translateY(-0.75rem) scale(0.75);
        transition: all .25s ease-out; }
      .form-label .inp input:hover {
        box-shadow: inset 0 0 0 1px rgba(var(--color), 0.2); }
      .form-label .inp input:focus {
        outline: none;
        box-shadow: inset 0 0 0 2px rgba(var(--color), 1);
        background: rgba(var(--bg), 1);
        transition: all .25s ease-out; }
        .form-label .inp input:focus + span {
          color: rgba(var(--color), 1);
          -webkit-transform: translateY(-0.75rem) scale(0.75);
                  transform: translateY(-0.75rem) scale(0.75); }

.is_focused {
  background-color: rgba(var(--color), 0.1);
  transition: all .25s ease-out; }

.cta-group {
  margin-top: 1.75rem !important; }

button.formkit-submit {
  width: 100%;
  margin: auto;
  color: rgba(var(--bg), 1) !important;
  font-size: 1rem;
  display: block;
  height: 2rem;
  text-align: center;
  text-decoration: none;
  position: relative;
  background: rgba(var(--color), 1) !important;
  border: none;
  font-weight: bold;
  font-family: 'Locale', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  border-radius: 2rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: all .25s ease-out;
  box-shadow: 0 0 0 0 rgba(var(--color), 1); }
  button.formkit-submit:hover {
    color: #e5e5e5;
    box-shadow: 0 0 0 4px rgba(var(--color), 1) !important;
    transition: all .25s ease-out; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: #111;
  -webkit-box-shadow: inset 0 0 0px 1000px #FFD333; }
  input:-webkit-autofill + span,
  input:-webkit-autofill:hover + span,
  input:-webkit-autofill:focus + span {
    color: rgba(17, 17, 17, 0.5) !important; }

.formkit-alert-success {
  text-align: center; }

.form-disclaimer {
  line-height: 1.45em;
  padding: 1rem;
  font-size: .75rem;
  text-align: left;
  cursor: default; }
  .form-disclaimer span {
    position: relative;
    padding-left: 3rem;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    display: block; }
    @media (min-width: 640px) {
      .form-disclaimer span {
        padding-left: 3.5rem; } }
.form-inline .sn-form {
  padding: 0;
  margin: 0; }
  .form-inline .sn-form ul {
    padding: 0; }
  @media (min-width: 900px) {
    .form-inline .sn-form .formkit-fields {
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 1rem; } }
  @media (min-width: 1280px) {
    .form-inline .sn-form .formkit-fields {
      grid-template-columns: 1.5fr 2fr 1fr;
      height: 4rem; } }
  .form-inline .sn-form .formkit-fields .formkit-field {
    margin: 0; }
  .form-inline .sn-form .formkit-fields .cta-group {
    padding: 0;
    margin: 0; }
    .form-inline .sn-form .formkit-fields .cta-group button {
      margin-top: 2rem;
      background-color: rgba(var(--bg), 1) !important;
      box-shadow: 0 0 0 0 rgba(var(--bg), 1) !important; }
      .form-inline .sn-form .formkit-fields .cta-group button:hover {
        box-shadow: 0 0 0 4px rgba(var(--bg), 1) !important; }
      @media (min-width: 900px) {
        .form-inline .sn-form .formkit-fields .cta-group button {
          margin-top: 0;
          width: 100%;
          height: 4rem; } }
.container.interior h1 {
  font-size: 32px;
  padding: 16vh 0 4vh; }
  @media (min-width: 640px) {
    .container.interior h1 {
      font-size: 36px;
      padding: 16vh 0 4vh; } }
.container.interior p {
  margin-bottom: 1rem;
  max-width: 40rem; }

.container.interior p.subhead {
  padding: 3rem 0;
  line-height: 140%; }

.container.interior h2 {
  padding-bottom: 0rem;
  display: block;
  padding-bottom: .5rem;
  margin-top: 2rem;
  line-height: 150%; }
  @media (min-width: 640px) {
    .container.interior h2 {
      max-width: 18rem; } }
  .container.interior h2 a.fig {
    opacity: 0;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none !important; }

.container.interior h2:hover a.fig {
  opacity: 1;
  box-shadow: none !important; }

.container.interior a {
  text-decoration: none;
  box-shadow: inset 0 -1px 0 0 rgba(var(--color), 1);
  transition: all .25s ease-out; }
  .container.interior a:hover {
    box-shadow: inset 0 -1.125em 0 0 rgba(var(--color), 1);
    color: rgba(var(--bg), 1);
    transition: all .25s ease-out; }

.container.interior .cta {
  max-width: 16rem; }

.container.interior.flowkit-grid h1 {
  grid-column: 1 / span 12; }

.doc-nav {
  grid-column: 1 / span 4;
  position: -webkit-sticky;
  position: sticky; }
  .doc-nav a {
    display: block;
    padding: .75rem 0;
    text-decoration: none; }

.section-grid {
  display: grid;
  grid-template-columns: auto repeat(11, 1fr);
  grid-auto-flow: column;
  align-items: top; }
  .section-grid .section-flow {
    display: none; }
    @media (min-width: 640px) {
      .section-grid .section-flow {
        display: block; } }
  .section-grid .box.curve-right {
    width: 200px;
    height: 200px; }
  .section-grid .box .cap-snake-arrow {
    -webkit-transform: rotate(180deg) translateX(50%) translateY(-50%);
            transform: rotate(180deg) translateX(50%) translateY(-50%); }

section {
  padding: 6vh 0 8vh;
  grid-row-gap: 1rem; }

.section-title {
  grid-column: 1 / span 12; }
  @media (min-width: 640px) {
    .section-title {
      grid-column: 1 / span 4; } }
.section-flow-horizontal {
  grid-column: 3 / span 6; }
  .section-flow-horizontal .box {
    height: 150px; }

.section-flow-curve {
  grid-column: 9 / span 1; }

.section-media {
  grid-column: 1 / span 12;
  padding: 2rem 0; }
  @media (min-width: 640px) {
    .section-media {
      padding: 0 0 1rem;
      grid-column: 6 / span 6; } }
.section-copy {
  grid-column: 1 / span 12;
  font-weight: 400; }
  @media (min-width: 640px) {
    .section-copy {
      padding-top: 2rem;
      grid-column: 6 / span 5; } }
  .section-copy p {
    padding-bottom: 2rem; }

.section-plug {
  grid-column: 8 / span 3; }
  .section-plug p {
    margin-bottom: 0 !important; }

.pricing {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0;
  padding: 0; }
  @media (min-width: 900px) {
    .pricing {
      padding: 4vh 0 8vh;
      grid-gap: 4rem;
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1280px) {
    .pricing {
      grid-gap: 8rem; } }
.price-group {
  padding: 4vh 0; }
  .price-group:first-child {
    box-shadow: none; }
  @media (min-width: 900px) {
    .price-group {
      box-shadow: none; } }
  .price-group p {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 16rem; }
    @media (min-width: 1600px) {
      .price-group p {
        max-width: 20rem; } }
.price-amount {
  font-weight: 600; }
  .price-amount span {
    text-decoration: line-through;
    opacity: .5; }

.price-desc {
  padding: 1.5rem 0 2rem; }
  @media (min-width: 900px) {
    .price-desc {
      padding: 3.5rem 0 4rem; } }
.carousel {
  padding: 10vh 0; }

.tweets {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1200px;
  margin: auto; }
  @media (min-width: 900px) {
    .tweets {
      grid-template-columns: 1fr 1fr 1fr;
      padding: 0 2rem; } }
  .tweets a {
    text-decoration: none; }

.twitter-logo {
  width: 16px;
  height: 16px;
  padding-top: 4px;
  padding-bottom: 2rem;
  margin: auto;
  color: rgba(var(--bg), 1); }
  @media (min-width: 900px) {
    .twitter-logo {
      padding-bottom: 0;
      margin: 0; } }
  .twitter-logo svg {
    width: 100%;
    height: auto; }

.tweet-content {
  color: rgba(var(--bg), 1);
  background: rgba(var(--color), 1);
  border-radius: 40px;
  padding: 1rem 2rem 2rem;
  box-shadow: 0 0 0 1px rgba(var(--color), 1);
  font-size: 16px !important;
  transition: all .25s ease-out; }
  @media (min-width: 640px) {
    .tweet-content {
      padding: 2rem 2rem 3rem; } }
.tweet {
  display: grid;
  padding: 1rem;
  font-size: 16px !important; }
  @media (min-width: 1280px) {
    .tweet {
      padding: .5rem;
      box-shadow: none !important; } }
  .tweet .tweet-actual {
    font-size: 16px !important; }
    .tweet .tweet-actual p {
      font-style: italic;
      padding-bottom: 1.5rem;
      position: relative;
      font-size: 16px !important;
      color: rgba(var(--bg), 1); }
      @media (min-width: 900px) {
        .tweet .tweet-actual p {
          padding: 2rem 0 2.5rem; } }
  .tweet:hover .tweet-content {
    box-shadow: 0 0 0 4px rgba(var(--color), 1);
    transition: all .25s ease-out; }
  .tweet .tweet-avatar {
    width: 40px;
    height: 40px;
    background: rgba(var(--color), 1);
    border-radius: 50%; }
    .tweet .tweet-avatar img {
      border-radius: 50%;
      width: 100%;
      mix-blend-mode: luminosity; }

.tweet-attribute {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 1.5rem;
  align-items: top; }
  .tweet-attribute p {
    color: rgba(var(--bg), 1);
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 130% !important;
    -webkit-hyphens: auto;
            hyphens: auto; }

.tweet-profile p.name {
  display: inline;
  position: relative;
  z-index: 100;
  color: rgba(var(--bg), 1);
  transition: all .25s ease-out; }

.product-headers {
  display: none; }
  @media (min-width: 900px) {
    .product-headers {
      display: grid;
      grid-template-columns: repeat(6, 1fr); } }
.product-row {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 3rem 0;
  align-items: center;
  grid-row-gap: 2rem; }
  .product-row:hover .product-package p {
    color: rgba(var(--bg), 1);
    transition: all .25s ease-out; }
    .product-row:hover .product-package p:after {
      height: 1.325em;
      background: rgba(var(--color), 1);
      transition: all .25s ease-out; }
  @media (min-width: 900px) {
    .product-row {
      grid-template-columns: repeat(6, 1fr); } }
  .product-row p {
    line-height: 100%;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important; }

.product-package p {
  position: relative;
  display: inline;
  z-index: 100;
  transition: all .25s ease-out; }
  .product-package p:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(var(--color), 0);
    position: absolute;
    z-index: -1;
    bottom: 0;
    transition: all .25s ease-out; }

.product-desc {
  display: block;
  grid-column: 1 / span 2; }
  @media (min-width: 900px) {
    .product-desc {
      display: none; } }
  .product-desc p {
    line-height: 150%; }

.product-price {
  text-align: right;
  display: none; }
  @media (min-width: 900px) {
    .product-price {
      display: block; } }
.product-seats,
.product-discount,
.product-per {
  justify-self: center;
  display: none; }
  @media (min-width: 900px) {
    .product-seats,
    .product-discount,
    .product-per {
      display: block; } }
.product-cta {
  text-align: right;
  transition: all .25s ease-out; }
  .product-cta a {
    color: rgba(var(--bg), 1) !important;
    background: rgba(var(--color), 1);
    padding: 4px 1rem;
    border-radius: 20px;
    box-shadow: 0 0 0 0 rgba(var(--color), 1) !important;
    font-weight: 600;
    transition: all .25s ease-out; }
    .product-cta a .price {
      display: inline-block; }
    .product-cta a .fig {
      color: rgba(var(--bg), 1) !important;
      font-weight: 500;
      padding-bottom: 0 !important; }
    .product-cta a:hover {
      box-shadow: 0 0 0 1px rgba(var(--color), 1) !important;
      transition: all .25s ease-out; }
    .product-cta a .text {
      display: none; }
    @media (min-width: 900px) {
      .product-cta a .price {
        display: none; }
      .product-cta a .text {
        display: inline-block; } }
.switch-grid {
  padding: 1rem;
  position: absolute;
  z-index: 100;
  left: 50.15%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none; }
  @media (min-width: 900px) {
    .switch-grid {
      display: block; }
      .switch-grid:before {
        content: "";
        width: 5px;
        height: 5px;
        display: block;
        border-radius: 50%;
        background: rgba(var(--bg), 1);
        box-shadow: 0 0 0 2px rgba(var(--color), 1);
        position: absolute;
        top: 27px;
        left: 28px;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        transition: all .25s ease-out; } }
  .switch-grid:hover:before {
    background: rgba(var(--color), 1);
    -webkit-transform: translateX(-50%) scale(3);
            transform: translateX(-50%) scale(3);
    transition: all .25s ease-out; }
  .switch-grid:hover .switch-grid-container {
    opacity: 1;
    background: rgba(var(--bg), 1);
    box-shadow: 0 0 0 2px rgba(var(--color), 1);
    -webkit-transform: scale(1);
            transform: scale(1);
    transition: all .25s ease-out; }
  .switch-grid:hover .piece {
    opacity: 1; }
  .switch-grid.active:before {
    background: rgba(var(--color), 1);
    box-shadow: 0 0 0 1px rgba(var(--color), 1); }
  .switch-grid.active .switch-grid-container {
    background: rgba(var(--color), 1); }
  .switch-grid.active .piece {
    background: rgba(var(--bg), 1); }

.switch-grid-container {
  text-decoration: none;
  font-size: 12px;
  text-align: center;
  padding: 8px;
  border-radius: 50%;
  background: rgba(var(--color), 1);
  box-shadow: 0 0 0 2px rgba(var(--color), 1);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1px;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  position: relative;
  left: -1px;
  transition: all .25s ease-out; }
  .switch-grid-container .piece {
    opacity: 0;
    width: 5px;
    height: 5px;
    box-shadow: 0 0 0 1px rgba(var(--color), 1); }

@-webkit-keyframes gridPulse {
  0%, 100% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  50% {
    -webkit-transform: scale(0.3);
            transform: scale(0.3); } }

@keyframes gridPulse {
  0%, 100% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  50% {
    -webkit-transform: scale(0.3);
            transform: scale(0.3); } }

@media (min-width: 900px) {
  .grid-on {
    box-shadow: inset -1px -1px 0 0 rgba(var(--color), 0.1);
    transition: all .25s ease-out; }
    .grid-on p {
      position: absolute;
      top: .5rem;
      left: .5rem;
      color: rgba(var(--color), 0.5);
      font-size: 8px;
      padding: 4px 8px;
      background: rgba(var(--bg), 1);
      z-index: 100;
      display: block !important; }
    .grid-on > div {
      position: relative;
      z-index: -1;
      box-shadow: inset 1px 1px 0 0 rgba(var(--color), 0.1);
      transition: all .25s ease-out; }
      .grid-on > div:before {
        content: "";
        display: block;
        width: 6px;
        height: 6px;
        background: rgba(var(--color), 0.1);
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        border-radius: 50%;
        top: -3px; }
      .grid-on > div:nth-child(13):after, .grid-on > div:nth-child(14):after, .grid-on > div:nth-child(15):after, .grid-on > div:nth-child(16):after, .grid-on > div:nth-child(17):after, .grid-on > div:nth-child(18):after {
        content: "";
        display: block;
        width: 6px;
        height: 6px;
        background: rgba(var(--color), 0.1);
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        border-radius: 50%;
        bottom: -3px; } }

@media (min-width: 900px) {
  .flowkit-grid-cta.grid-on {
    box-shadow: inset -1px 0 0 0 rgba(var(--color), 0.1) !important; }
    .flowkit-grid-cta.grid-on > div:nth-child(1), .flowkit-grid-cta.grid-on > div:nth-child(2), .flowkit-grid-cta.grid-on > div:nth-child(3), .flowkit-grid-cta.grid-on > div:nth-child(4), .flowkit-grid-cta.grid-on > div:nth-child(5), .flowkit-grid-cta.grid-on > div:nth-child(6) {
      box-shadow: none !important; } }

.slick-arrow {
  border: none;
  background: transparent;
  position: relative;
  cursor: pointer; }
  .slick-arrow span {
    opacity: 0; }
  .slick-arrow:before, .slick-arrow:after {
    position: absolute;
    content: "";
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: rgba(var(--color), 1);
    display: block; }
  .slick-arrow:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 2px; }
  .slick-arrow:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 10px; }

.slick-next {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

.slick-dots {
  grid-column: 2 / span 1;
  justify-self: center; }
  .slick-dots li {
    display: inline;
    margin: 0; }
    .slick-dots li button {
      background: none;
      border: none;
      color: rgba(var(--bg), 1);
      cursor: pointer; }
      .slick-dots li button:before {
        content: "";
        background: transparent;
        box-shadow: inset 0 0 0 1px rgba(var(--color), 1);
        border-radius: 5px;
        line-height: 0;
        width: 10px;
        height: 10px;
        display: block;
        transition: all .25s ease-out; }

li.slick-active button:before {
  box-shadow: inset 0 0 0 6px rgba(var(--color), 1);
  transition: all .25s ease-out; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  font-size: 1rem; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  font-size: 1rem; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem; }
  .slick-track:before {
    display: table;
    content: ''; }
  .slick-track:after {
    display: table;
    content: '';
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.logos {
  display: grid;
  padding: 0 1rem 4vh;
  grid-template-columns: repeat(4, 1fr);
  grid-row-gap: 0;
  grid-column-gap: 1rem; }
  @media (min-width: 900px) {
    .logos {
      padding: 0 0 4vh;
      grid-template-columns: repeat(6, 1fr);
      grid-gap: 3rem; } }
  @media (min-width: 1280px) {
    .logos {
      grid-gap: 6rem; } }
  .logos svg {
    width: 100%;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    transition: all .25s ease-out; }
    .logos svg path, .logos svg rect, .logos svg polygon {
      fill: rgba(var(--color), 1);
      transition: all .25s ease-out; }
    .logos svg:hover {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: all .25s ease-out; }
      .logos svg:hover path, .logos svg:hover rect, .logos svg:hover polygon {
        fill: rgba(var(--color), 1);
        transition: all .25s ease-out; }
