/*! normalize.css v2.1.3 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

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

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */ /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

*,
*:before,
*:after {
  box-sizing: border-box;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-y: scroll;
}
body {
  font-family: Karla, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  margin: 0;
}
b {
  font-weight: inherit;
}
i {
  font-style: inherit;
}
a:hover,
a:active {
  outline: 0;
}
a {
  text-decoration: none;
  color: inherit;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
img {
  border: 0;
}
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}
path,
circle {
  fill: currentColor;
}
.Logo {
  position: fixed;
  left: 46px;
  top: 88px;
  width: 137px;
  height: 67px;
  background-image: url('/assets/images/Logo/img/httpster.min.png');
  background-repeat: no-repeat;
  background-size: contain;
}
.Logo__text {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.Logo--white {
  background-image: url('/assets/images/Logo/img/httpster--white.min.png');
}
.Logo--small {
  top: 16px;
  left: 15px;
  width: 69px;
  height: 32px;
}
.StandardLayout {
  padding-right: 46px;
}
.Heading {
  margin-top: 176px;
  margin-top: 11rem;
  font-size: 32px;
  font-size: 20px;
  line-height: 1.5;
  max-width: 660px;
  margin-bottom: 2em;
}
/*
  This component uses overflow: hidden; on the block and margin-top/bottom on the bd element to set some minimum internal spacing which content margins can overlap.
*/
.Main {
  overflow: hidden;
  padding-left: 10%;
  padding-right: 10%;
  max-width: 1028px;
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
}
.Main__bd {
  margin-top: 6em;
  margin-bottom: 6em;
}
.Main--narrow .Main__bd {
  max-width: 640px;
}
/*
  Component Wrapper
  For use in ui component stylesheets to style the wrapper component. Typical usage includes:
  - adding a background color
  - setting a min height
  - setting pos:rel for pos:abs components
  - adding spacing so that shadows are visible
*/
._typography-default {
  font-family: Karla, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0;
}
._typography-larger {
  font-family: Karla, sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0;
}
._typography-uppercase {
  font-family: Karla, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.1536em;
  font-weight: normal;
}
[data-component="Ticker"] {
  height: 100vh;
}
.Ticker {
  z-index: 8;
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 46px;
  bottom: 0;
  height: 100%;
  width: 60px;
  background-color: #fff;
  border-left: 1px solid #EBEBEB;
  text-align: left;
}
.Ticker__bd {
  height: 100%;
  overflow: visible;
  position: relative;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  padding: calc(50vh - (72px / 2)) 0;
}
.Ticker__highlight {
  position: absolute;
  z-index: 1;
  top: calc(50% - 2px);
  right: 0;
  height: 3px;
  width: 16px;
  background-color: #FF5600;
}
.TickerToken {
  font-family: Karla, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.1536em;
  font-weight: normal;
  font-size: 10px;
  line-height: 1;
  height: 72px;
  display: block;
  position: relative;
  color: rgba(0, 0, 0, 0.9);
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  background-image: url('images/Ticker/svg/bg.svg');
  background-size: 15px 73px;
  background-repeat: no-repeat;
  background-position: right top;
  opacity: 0.2;
}
.TickerToken:first-child {
  background-position: right 36px;
}
.TickerToken:last-child {
  background-position: right -36px;
}
.TickerToken.is-loaded {
  opacity: 1;
}
.TickerToken__year {
  position: absolute;
  top: 0;
  left: 12px;
  right: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 9px;
  letter-spacing: 0.10222222em;
}
.TickerToken__month {
  position: absolute;
  top: 32px;
  left: 9px;
}
.TickerToken:hover {
  background-color: #E4F4FF;
}
.TickerToken:focus {
  outline: none;
}
.Grid {
  font-size: 0.1px;
  text-align: justify;
}
.Grid:after {
  content: '';
  display: inline-block;
  line-height: 0;
  width: 100%;
}
.Grid__unit {
  font-size: 13px;
  display: inline-block;
  width: 100%;
  margin-bottom: 30px;
  vertical-align: top;
}
.Grid__unit--spacer {
  line-height: 0;
  margin-bottom: 0 !important;
}
[data-component="Preview"] {
  padding: 2em;
}
.Preview {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  display: block;
  font-size: 12px;
}
.Preview__meta {
  margin: 10px 0;
}
.Preview__meta:after {
  content: "";
  display: table;
  clear: both;
}
.Preview__title {
  float: left;
}
.Preview__date {
  float: right;
  opacity: 0.5;
}
.Preview__fig {
  position: relative;
  overflow: hidden;
}
.Preview .Imgset {
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.Preview__actions {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
}
.Preview__action {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 10px;
  bottom: 10px;
  background-position: center 30%;
  background-repeat: no-repeat;
  width: calc(50% - 15px);
  box-shadow: 0 1px 40px 0 rgba(0, 0, 0, 0.15);
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: opacity;
  transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.4s;
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
  opacity: 0;
}
.Preview__actionText {
  position: absolute;
  top: 75%;
  right: 0;
  left: 0;
}
.Preview__action--globe {
  left: 10px;
  color: rgba(17, 17, 17, 0.4);
  background-color: #fff;
  background-image: url('images/Preview/svg/globe.min.svg');
  background-size: 43px 43px;
}
.Preview__action--eye {
  right: 10px;
  color: rgba(247, 247, 247, 0.4);
  background-color: #111;
  background-image: url('images/Preview/svg/eye.min.svg');
  background-size: 55px 47px;
}
.Preview:hover .Preview__action {
  opacity: 1;
}
.Preview:hover .Imgset {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  transition-duration: 10s;
}
.IndexPage {
  padding-right: 60px;
  background-color: #fbfaf9;
}
.AboutPage {
  background-color: #fbfaf9;
}
.AboutPage__content {
  max-width: 660px;
}
.AboutPage\* .AboutPage__content p,
.AboutPage\* .AboutPage__content h3 {
  font-family: Karla, sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0;
}
.AboutPage\* .AboutPage__content p > a {
  color: #5100ff;
}
.AboutPage\* .AboutPage__content h3 {
  margin-top: 2em;
  margin-bottom: 0;
  color: #949494;
}
.AboutPage\* .AboutPage__content h3 + p {
  margin-top: 0;
}
/*
  Spec min and max sizes to match two viewport widths and this function will output a calc unit using vw to scale the inbetween sizes.

  .my-cool-heading {
    .vwScaling(font-size, 48px, 580, 64px, 960);
  }
*/
[data-component="Nav"] {
  min-height: 100vh;
}
.Nav {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  font-size: 14px;
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #000;
  color: #fff;
  width: 360px;
  max-width: calc(100vw);
}
.Nav__toggle {
  position: absolute;
  z-index: 1;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 16px 15px;
  height: 100%;
}
.Nav__toggleEl {
  display: block;
  width: 16px;
  height: 1px;
  background-color: currentColor;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: transform 0.5s, opacity 0.5s;
  transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s;
  border-radius: 1px;
  margin-bottom: 3px;
}
.Nav__toggleEl:last-child {
  width: 12px;
}
.Nav__strip {
  width: 46px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.Nav__stripText {
  display: block;
  width: 100vh;
  height: 46px;
  line-height: 46px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: rotate(90deg) translateX(-50%) translateY(-50%);
      -ms-transform: rotate(90deg) translateX(-50%) translateY(-50%);
          transform: rotate(90deg) translateX(-50%) translateY(-50%);
  -webkit-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
          transform-origin: 0 0;
  padding: 0 56px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.Nav__bd {
  background-color: #161616;
  margin-left: 46px;
  height: 100%;
  overflow: auto;
  text-align: left;
}
.Nav__section {
  width: 100%;
  border-top: 1px solid #303030;
  padding: 25px;
}
.Nav__strapline {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
}
.Nav__straplineStrong {
  color: #fff;
  font-weight: inherit;
}
.Nav__heading {
  font-family: Karla, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.1536em;
  font-weight: normal;
  text-align: center;
  margin-bottom: 10px;
}
.Nav__heading:before {
  content: "Filter by ";
  opacity: 0.5;
}
.Nav__taglist {
  text-align: center;
  margin-left: -10px;
  margin-right: -10px;
}
.Nav__taglistItem {
  display: inline-block;
  padding: 4px;
}
.Nav__colophon {
  display: block;
  text-align: center;
  border-top: 1px solid #303030;
  padding: 10px;
  background-color: #161616;
}
.NavControl {
  cursor: e-resize;
  text-decoration: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: none;
  padding: 0;
  margin: 0;
  position: fixed;
  z-index: 9;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.01;
  display: none;
}
.Nav__btn {
  display: inline-block;
  padding: 5px 15px;
  background: #000;
  border-radius: 20px;
  margin-top: 15px;
}
.Nav__btnIcon {
  vertical-align: middle;
  margin-right: 10px;
}
.Nav__btnText {
  vertical-align: middle;
}
.Nav__btn--white {
  background-color: #fff;
  color: #000;
}
/* bemc: off */
.Nav {
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: translateX(calc(100% - 46px));
      -ms-transform: translateX(calc(100% - 46px));
          transform: translateX(calc(100% - 46px));
}
.NavControl:checked + .Nav {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.NavControl:checked {
  display: block;
}
.NavControl:checked + .Nav .Nav__toggleEl:first-child {
  -webkit-transform: translateY(-15px);
      -ms-transform: translateY(-15px);
          transform: translateY(-15px);
  opacity: 0;
}
.NavControl:checked + .Nav .Nav__toggleEl:nth-child(2) {
  -webkit-transform: rotate(45deg) translateX(1px) translateY(2px);
      -ms-transform: rotate(45deg) translateX(1px) translateY(2px);
          transform: rotate(45deg) translateX(1px) translateY(2px);
}
.NavControl:checked + .Nav .Nav__toggleEl:nth-child(3) {
  -webkit-transform: rotate(-45deg) translateX(1px) translateY(-2px);
      -ms-transform: rotate(-45deg) translateX(1px) translateY(-2px);
          transform: rotate(-45deg) translateX(1px) translateY(-2px);
}
.NavControl:checked + .Nav .Nav__toggleEl:last-child {
  -webkit-transform: translateY(15px);
      -ms-transform: translateY(15px);
          transform: translateY(15px);
  opacity: 0;
}
/* bemc: on */
[data-component="Browser"] {
  padding: 2em;
}
.Browser {
  border-radius: 5px 5px 0 0;
  overflow: hidden;
  box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.07);
  font-size: 11px;
}
.Browser__chrome {
  display: block;
  height: 13px;
  background-color: #242424;
  position: relative;
}
.Browser__dots {
  display: block;
  top: 5px;
  left: 6px;
}
.Browser__dots,
.Browser__dots:before,
.Browser__dots:after {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background-color: #fff;
}
.Browser__dots:before {
  content: '';
  top: 0;
  left: 7px;
}
.Browser__dots:after {
  content: '';
  top: 0;
  left: 14px;
}
.Browser__fig {
  position: relative;
  padding-bottom: 62.5%;
  background-color: #eee;
}
.Browser__title {
  color: #fff;
  padding: 4px 48px 3px 48px;
  line-height: 1.5;
  font-size: 12px;
  display: block;
  text-align: center;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.Browser--large {
  border-radius: 8px 8px 0 0;
}
.Browser--large .Browser__chrome {
  height: 25px;
  border-radius: 8px 8px 0 0;
}
.Browser--large .Browser__dots {
  display: block;
  top: 10px;
  left: 9px;
}
.Browser--large .Browser__dots,
.Browser--large .Browser__dots:before,
.Browser--large .Browser__dots:after {
  width: 6px;
  height: 6px;
}
.Browser--large .Browser__dots:before {
  left: 12px;
}
.Browser--large .Browser__dots:after {
  left: 24px;
}
.Browser--onDark {
  box-shadow: 0 2px 30px #000;
}
/*
  Imgset
  ======

  Should work with less/sass/whatever, anything that's cool with the ampersand (&) parent selector.

  (1) Default ratio 16:9
  In a typical usage you would inline a padding bottom style that matches the exact ratio of the image.
  Alternatively, use the &--fillParent modifier and set a custom width/height on a relative positioned parent element.

  (2) <img> element is used only so that users can right-click save-as images.

  (3) Our image is displayed on this element rendered by an inline background image style. The reason why it's an element in its own right (instead of just putting the background image on the .Imgset element) is so that there is flexibility when it comes to:
    a) fading the image in when it loads,
    b) transforming it on hover by transforming scale (or a slow scale for a ken burns style effect).
*/
.Imgset {
  display: block;
  position: relative;
  padding: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-left: 0 !important;
  margin-right: 0 !important;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.Imgset__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.Imgset__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: opacity 0.5s;
  opacity: 0;
}
.Imgset--fillParent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 0 !important;
}
.Imgset.is-loaded .Imgset__background {
  opacity: 1;
}
[data-component="Tag"] {
  background-color: #111;
  padding: 2em;
}
.Tag {
  background-color: #fff;
  display: inline-block;
  border-radius: 0 1px 1px 0;
  position: relative;
  color: #000;
  line-height: 14px;
  padding: 4px 8px 4px 10px;
  margin-left: 8px;
  font-size: 11px;
  transition: opacity 0.2s;
}
.Tag:before {
  content: "";
  position: absolute;
  left: -8px;
  top: 0;
  width: 0;
  height: 0;
  border-top: 11px solid transparent;
  border-right: 8px solid #fff;
  border-bottom: 11px solid transparent;
}
.Tag:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: #000;
  left: 0;
  top: 9px;
}
.Tag--electricVoilet {
  background-color: #5100ff;
  color: #fff;
}
.Tag--electricVoilet:before {
  border-right-color: #5100ff;
}
.Tag--wildStrawberry {
  background-color: #ff2986;
  color: #fff;
}
.Tag--wildStrawberry:before {
  border-right-color: #ff2986;
}
.Tag:hover,
.Tag:focus,
.Tag:active {
  outline: none;
  opacity: 0.75;
}
.WebsitePage {
  min-height: 100vh;
  overflow: hidden;
  background-color: #161616;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.WebsitePage__bd {
  padding-left: 10%;
  padding-right: 10%;
  padding-bottom: 50vh;
}
.WebsitePage__inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.WebsitePage__nav {
  text-align: center;
}
.WebsitePage__navLink {
  display: inline-block;
  padding: 15px 18px 10px 18px;
  opacity: 0.25;
}
.WebsitePage__navLink--a {
  opacity: 1;
  transition: color 0.2s;
}
.WebsitePage__navLink--a.is-active,
.WebsitePage__navLink--a:hover {
  color: #5100ff;
}
.Snapshot {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 50px;
  margin-bottom: 50px;
}
.Snapshot__fig {
  padding-bottom: 62.5%;
  position: relative;
  background-color: #000;
}
.Snapshot__desc {
  margin: 30px 0;
  font-size: 18px;
}
.Snapshot__desc:after {
  content: "";
  display: table;
  clear: both;
}
.Snapshot__tags {
  margin-top: -5px;
  float: right;
}
.Snapshot__tagsEl {
  display: inline-block;
  margin: 5px;
}
.Snapshot__twitterHandle {
  white-space: nowrap;
  position: relative;
}
.Snapshot__twitterHandle:before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.Header {
  text-align: center;
  margin-top: 50px;
}
.Header__link {
  transition: color 0.2s;
}
.Header__link:hover {
  color: #5100ff;
}
.Header__title {
  font-size: 20px;
  line-height: 1.2;
}
.Header__uri {
  display: block;
  font-size: 16px;
}
.Field {
  width: 100%;
  display: block;
  position: relative;
}
.Field__control {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  text-decoration: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: none;
  padding: 0;
  margin: 0;
  display: block;
  width: 100%;
  background-color: #fff;
  border: 1px solid;
  border-radius: 2px;
  border-color: #DBDBDB;
  transition: border-color 0.3s, color 0.3s;
}
.Field__control[type=number]::-webkit-inner-spin-button,
.Field__control[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.Field__control[type=number] {
  -moz-appearance: textfield;
}
.Field__control--faux {
  min-height: 5.6em;
}
textarea.Field__control {
  resize: none;
}
select.Field__control {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
select.Field__control::-ms-expand {
  display: none;
}
.Field__control {
  padding: 12px 14px;
  height: 54px;
  font-size: 18px;
  line-height: normal;
}
.Field__grow {
  position: relative;
}
.Field__grow .Field__control {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.Field__grow .Field__control--faux {
  position: static;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.Field__grow .Field__control--faux:after {
  content: "\00000a";
}
.Field__label {
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 1.6em;
  position: relative;
  pointer-events: none;
}
.Field__labelText {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-left: 14px;
  padding-right: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.4;
  line-height: normal;
  font-size: 18px;
  transition: font-size 0.2s, color 0.2s, -webkit-transform 0.2s;
  transition: transform 0.2s, font-size 0.2s, color 0.2s;
  transition: transform 0.2s, font-size 0.2s, color 0.2s, -webkit-transform 0.2s;
  -webkit-transform: translateY(36px);
      -ms-transform: translateY(36px);
          transform: translateY(36px);
}
.Field__error {
  z-index: 1;
  position: absolute;
  top: calc(100% - 12px);
  right: 9px;
  max-width: calc(100% - 18px);
  border-radius: 3px;
  padding: 4px 6px;
  background-color: #ff3c00;
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
  display: none;
}
.Field--required .Field__labelText:after {
  content: "*";
  color: #ff3c00;
}
.Field.has-value .Field__labelText {
  opacity: 1;
  font-size: 14px;
  -webkit-transform: translateY(2px);
      -ms-transform: translateY(2px);
          transform: translateY(2px);
}
.Field.is-focus .Field__control {
  border-color: #242424;
}
.Field.is-disabled {
  opacity: 0.3;
}
.Field.has-error .Field__error {
  display: block;
}
.Field.has-error .Field__label {
  color: #ff3c00;
}
.Field.has-error .Field__label,
.Field.has-error .Field__control {
  border-color: #ff3c00;
}
path {
  fill: currentColor;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.Svg {
  display: block;
  position: relative;
}
.Svg__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
Adds an underline using a linear gradient to the inline element it's applied to.
Supports when these inline elements wrap across multiple lines, unlike a solution that uses borders.

Caveats
- Can't be animated because it's rendered as a background image.
- Doesn't leave space around descenders.

*/
[data-component="Richtext"] {
  padding: 4em;
}
.Richtext\* {
  font-size: 14px;
  line-height: 1.5;
}
.Richtext\* > p a,
.Richtext\* > ul a {
  background-position: 0 -1px;
  background-image: linear-gradient(to top, #0897f7 1px, rgba(0, 0, 0, 0) 1px);
}
.Richtext\* > p {
  margin-top: 21px;
  margin-bottom: 21px;
}
.Richtext\* > h3 {
  font-size: 1.272em;
  margin-top: 21px;
  margin-bottom: 21px;
}
.Richtext\* > ul {
  margin-top: 21px;
  margin-bottom: 21px;
  list-style: none;
}
.Richtext\* > ul li {
  position: relative;
}
.Richtext\* > ul li:before {
  content: "";
  width: 0.8em;
  border-bottom: 1px solid;
  position: absolute;
  margin-top: 0.7em;
  left: -1.2em;
}
.Richtext\* > h2 {
  font-size: 1.618em;
  margin-top: 21px;
  margin-bottom: 21px;
}
.Richtext\* > h1 {
  font-size: 2.0581em;
  margin-top: 21px;
  margin-bottom: 21px;
}
/*
http://spencermortensen.com/articles/typographic-scale/:
golden ditonic scale (r = φ, n = 2)

Lorem Ipsum @A2 = 2.6179em
Lorem Ipsum @B1 = 2.0581em
Lorem Ipsum @A1 = 1.618em
Lorem Ipsum @B0 = 1.272em
Lorem Ipsum @A0 = 1em
Lorem Ipsum @B-1 = .7862em
*/
.Form {
  margin-top: -2em;
}
.Form__bd {
  position: relative;
}
.Form__fields {
  transition: opacity 0.5s;
  position: relative;
  z-index: 1;
}
.Form__field {
  width: 100%;
  float: left;
  margin-top: 5px;
}
.Form__p {
  clear: both;
  max-width: 408px;
  padding: 1em 0;
}
.Form__footer {
  text-align: right;
  margin-bottom: 50px;
}
.Form__btn {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  text-decoration: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: none;
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 18px;
  border: 1px solid #DBDBDB;
  border-radius: 2px;
  transition: border-color 0.3s, color 0.3s;
  padding: 12px;
  width: 120px;
}
.Form__btn:hover,
.Form__btn:focus {
  outline: none;
  border-color: #242424;
}
.Form__thanks {
  white-space: nowrap;
  font-size: 48px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: opacity 1s;
  opacity: 0;
}
.Form__thanksIcon {
  display: inline-block;
  width: 1em;
  margin-left: 0.2em;
  vertical-align: baseline;
  position: relative;
  bottom: -0.1em;
}
@media screen and (min-width: 20em) {

    .Heading {
        font-size: calc(20px + (32 - 20) * (100vw - 320px) / (1258 - 320));
    }

    .Header__title {
        font-size: calc(20px + (42 - 20) * (100vw - 320px) / (1258 - 320));
    }

    .Form__thanks {
        font-size: calc(48px + (140 - 48) * (100vw - 320px) / (860 - 320));
    }
}
@media screen and (min-width: 78.625em) {

    .Heading {
        font-size: 32px;
    }

    .Header__title {
        font-size: 42px;
    }
}
@media screen and (min-width: 30em) {

    .Grid__unit {
        width: calc(50% - 15px);
    }
}
@media screen and (min-width: 64em) {

    .Grid__unit {
        width: calc(29.183%);
        margin-bottom: 60px;
    }
}
@media screen and (max-height: 12.4375em) {

    .Nav__stripTextEl--p1 {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }
}
@media screen and (max-height: 21.8125em) {

    .Nav__stripTextEl--p2 {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }
}
@media screen and (max-height: 26.1875em) {

    .Nav__stripTextEl--p3 {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }
}
@media screen and (max-height: 34.9375em) {

    .Nav__stripTextEl--p4 {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }
}
@media screen and (min-width: 48em) {

    .WebsitePage__nav {
        position: fixed;
        top: 10px;
        right: 46px;
        width: 9.4%;
    }

    .Form__field--email,
  .Form__field--twitter_handle {
        width: calc(50% - 10px);
    }

    .Form__field--email {
        margin-right: 20px;
    }
}
@media screen and (min-width: 60em) {

    .Snapshot {
        padding-top: 100px;
    }

    .Snapshot__desc {
        padding-left: 105px;
        padding-right: 105px;
    }

    .Header {
        position: fixed;
        margin-top: 0;
        top: 25px;
        right: 10%;
        left: 10%;
        padding-left: 105px;
        padding-right: 105px;
    }

    .Header:after {
        content: "";
        display: table;
        clear: both;
    }

    .Header__title {
        margin-top: 0;
        float: left;
        margin-right: 15px;
    }

    .Header__uri {
        float: left;
    }
}
@media screen and (min-width: 53.75em) {

    .Form__thanks {
        font-size: 140px;
    }
}
