@import url(https://fonts.googleapis.com/css?family=Lato:400,700&display=swap);
@import url(https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.9/styles/tomorrow-night-blue.min.css);
body, html {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif; }

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

a {
  color: #4A4AD0;
  font-weight: 700; }

.container {
  margin: 0 auto;
  max-width: 1150px;
  padding: 1em;
  font-size: 1em;
  line-height: 1.65em; }
  .container section {
    margin-bottom: 5em; }
  .container article {
    margin-bottom: 2.5em; }
  .container h1 + p {
    margin-bottom: 3em;
    font-size: 1.2em;
    line-height: 1.55em; }
  .container p {
    max-width: 700px; }
  .container li {
    max-width: 500px; }

.banner {
  display: flex;
  padding: 3em 0;
  margin-bottom: 3em;
  background-image: linear-gradient(180deg, #0C0E25 0%, #1B205E 100%); }
  .banner__inner {
    margin: 0 auto;
    max-width: 1150px;
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none; }
  .banner__content {
    flex: 1 1 0px; }
  .banner__image {
    height: 180px;
    width: 300px; }
  .banner__subtitle {
    color: #fff;
    font-size: .9em;
    font-weight: 300; }
  .banner__title {
    color: #fff;
    font-size: 2em;
    font-weight: normal; }

pre code.hljs {
  display: block;
  background: #002451;
  color: white;
  font-family: Menlo, Monaco, Consolas, monospace;
  line-height: 1.5;
  border: 1px solid #ccc;
  padding: 1em; }

.grid-box {
  margin: 0 auto;
  max-width: 1150px;
  display: flex;
  padding: 4em 0; }
  .grid-box--reverse {
    flex-direction: row-reverse; }
  @media (max-width: 480px) {
    .grid-box {
      padding: 1em;
      display: block; } }
  .grid-box__image {
    width: 50%;
    text-align: center; }
    @media (max-width: 480px) {
      .grid-box__image {
        width: 100%; } }
    .grid-box__image svg {
      width: 100%;
      max-width: 400px; }
  .grid-box__content {
    width: 50%;
    margin-left: 3em; }
    @media (max-width: 480px) {
      .grid-box__content {
        width: 100%; } }
  .grid-box__title {
    font-size: 1.8em;
    font-weight: normal; }
  .grid-box__description {
    font-size: 1em;
    line-height: 1.4em;
    margin-bottom: 2em; }

.call-to-action {
  border-radius: 18px;
  height: 36px;
  background: #A01184;
  margin: auto;
  width: auto;
  color: #fff;
  display: inline-flex;
  align-items: center;
  padding-right: 2em;
  cursor: pointer;
  transition: background-color .2s; }
  .call-to-action:hover {
    background: #ae1192; }
  .call-to-action__icon {
    margin: 0 20px; }
  .call-to-action__text {
    font-size: .9em;
    line-height: 1em;
    width: auto; }

.homepage-diagram-animation {
  animation: float 4s ease-in-out infinite; }

@keyframes float {
  0% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translate(42px, 10px); }
  50% {
    box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    transform: translate(42px, 0px); }
  100% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translate(42px, 10px); } }

