/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.2; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 100%;
}

body {
  font-size: 16px;
  line-height: 1.2;
}

/**
 * 1. Correct the box-sizing method on all major modern browsers.
 * 2. We use the universal box-sizing iwth inheritance method from:
 *    https://css-tricks.com/box-sizing/
 */
html {
  box-sizing: border-box;
}

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

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/* General fallback heading and p sizing and margins

   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  -webkit-hyphens: none;
          hyphens: none;
  margin: 0;
  padding: 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
figcaption,
figure {
  display: block;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp, pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1rem; /* 2 */
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25rem;
}

sup {
  top: -0.5rem;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * Known issues:
 * - `select`:
 *   By default, Chrome on OS X and Safari on OS X allow very limited styling of
 *   select, unless a border property is set. The default font weight on
 *   optgroup elements cannot safely be changed in Chrome on OSX and Safari on
 *   OS X.
 * - `[type="checkbox"]`:
 *   It is recommended that you do not style checkbox and radio inputs as
 *   Firefox's implementation does not respect box-sizing, padding, or width.
 * - `[type="number"]`:
 *   Certain font size values applied to number inputs cause the cursor style of
 *   the decrement button to change from `default` to `text`.
 * - `[type="search"]`:
 *   The search input is not fully stylable by default. In Chrome and Safari on
 *   OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
 *   Chrome and Safari on Windows you can't control `border` properly. It will
 *   apply `border-width` but will only show a border color (which cannot be
 *   controlled) for the outer 1px of that border. Applying
 *   `-webkit-appearance: textfield` addresses these issues without removing the
 *   benefits of search inputs (e.g. showing past searches). Safari (but not
 *   Chrome) will clip the cancel button on when it has padding (and `textfield`
 *   appearance).
 * - `::placeholder`:
 *   In Edge, placeholders will disappear on `relative` or `absolute` positioned
 *   `<input>` elements if you use `opacity` less than `1` due to a
 *   [bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3901363/).
 */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  line-height: 1.15; /* 1 */
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 */
button {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

button,
[type=button],
[type=reset],
[type=submit] {
  /**
   * Remove the inner border and padding in Firefox.
   */
  /**
   * Restore the focus styles unset by the previous rule.
   */
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Show the overflow in Edge.
 */
input {
  overflow: visible;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
  /**
   * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
   */
}
[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  color: inherit; /* 2 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
/*
 * Add the correct display in IE 9-.
 */
menu {
  display: block;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

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

@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: normal;
  font-weight: 400;
  src: local("GT Pressura Pro Regular"), local("GT-Pressura-Pro-Regular"), url("../fonts/gt-pressura/GT-Pressura-Pro-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: italic;
  font-weight: 400;
  src: local("GT Pressura Pro Regular Italic"), local("GT-Pressura-Pro-Regular-Italic"), url("../fonts/gt-pressura/GT-Pressura-Pro-Regular-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: normal;
  font-weight: 300;
  src: local("GT Pressura Pro Light"), local("GT-Pressura-Pro-Light"), url("../fonts/gt-pressura/GT-Pressura-Pro-Light.woff2") format("woff2");
}
@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: italic;
  font-weight: 300;
  src: local("GT Pressura Pro Light Italic"), local("GT-Pressura-Pro-Light-Italic"), url("../fonts/gt-pressura/GT-Pressura-Pro-Light-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: normal;
  font-weight: 700;
  src: local("GT Pressura Pro Bold"), local("GT-Pressura-Pro-Bold"), url("../fonts/gt-pressura/GT-Pressura-Pro-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "GT-Pressura-Pro";
  font-style: italic;
  font-weight: 700;
  src: local("GT Pressura Pro Bold Italic"), local("GT-Pressura-Pro-Bold-Italic"), url("../fonts/gt-pressura/GT-Pressura-Pro-Bold-Italic.woff2") format("woff2");
}
html, body {
  font-family: GT-Pressura-Pro, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.25;
  font-weight: 400;
  color: #222222;
  background: #303036;
}
html main, body main {
  hyphenate-limit-chars: 6 3 2;
  hyphenate-limit-lines: 3;
  -webkit-hyphens: auto;
          hyphens: auto;
  word-break: break-word;
}
html h1, html h2, html h3, html h4, html h5, html h6, body h1, body h2, body h3, body h4, body h5, body h6 {
  -webkit-hyphens: none;
          hyphens: none;
  line-height: 1.1;
}
html h1, html h2, html h3, html h4, html h5, html h6,
html p, html ul, html ol,
html blockquote, body h1, body h2, body h3, body h4, body h5, body h6,
body p, body ul, body ol,
body blockquote {
  margin: 0;
}
html h1, body h1 {
  font-size: 20vw;
}
@media (min-aspect-ratio: 1/1) {
  html h1, body h1 {
    font-size: 16vh;
  }
}
html h2, body h2 {
  font-size: 14vw;
}
@media (min-aspect-ratio: 1/1) {
  html h2, body h2 {
    font-size: 11.2vh;
  }
}
html h2 + *, body h2 + * {
  margin-top: 8vw;
}
@media (min-aspect-ratio: 1/1) {
  html h2 + *, body h2 + * {
    margin-top: 8vh;
  }
}
html h2 + h3, body h2 + h3 {
  margin-top: 0;
}
html h3, body h3 {
  font-weight: 500;
  font-style: italic;
  font-size: 12vw;
}
@media (min-aspect-ratio: 1/1) {
  html h3, body h3 {
    font-size: 9.6vh;
  }
}
html h3 + *, body h3 + * {
  margin-top: 6vw;
}
@media (min-aspect-ratio: 1/1) {
  html h3 + *, body h3 + * {
    margin-top: 6vh;
  }
}
html h3 + h4, body h3 + h4 {
  margin-top: 0;
}
html h4, body h4 {
  font-size: 9vw;
}
@media (min-aspect-ratio: 1/1) {
  html h4, body h4 {
    font-size: 7.2vh;
  }
}
html h4 + *, body h4 + * {
  margin-top: 4.5vw;
}
@media (min-aspect-ratio: 1/1) {
  html h4 + *, body h4 + * {
    margin-top: 4.5vh;
  }
}
html h5, body h5 {
  font-size: 7vw;
}
@media (min-aspect-ratio: 1/1) {
  html h5, body h5 {
    font-size: 5.6vh;
  }
}
html h6, body h6 {
  font-weight: 600;
  font-size: 5.8vw;
}
@media (min-aspect-ratio: 1/1) {
  html h6, body h6 {
    font-size: 4.64vh;
  }
}
html h6 + *, body h6 + * {
  margin-top: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  html h6 + *, body h6 + * {
    margin-top: 4vh;
  }
}
html p, body p {
  font-size: 5.8vw;
}
@media (min-aspect-ratio: 1/1) {
  html p, body p {
    font-size: 4.64vh;
  }
}
html p + p, body p + p {
  margin-top: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  html p + p, body p + p {
    margin-top: 4vh;
  }
}
html p + h4, body p + h4 {
  margin-top: 12vw;
}
@media (min-aspect-ratio: 1/1) {
  html p + h4, body p + h4 {
    margin-top: 4vh;
  }
}
html b, html strong, body b, body strong {
  font-weight: 600;
}
html i, html em, body i, body em {
  font-style: italic;
}
html p a,
html li a,
html details a, body p a,
body li a,
body details a {
  color: #EAE8E5;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid;
}
html p a:hover, html p a:active,
html li a:hover,
html li a:active,
html details a:hover,
html details a:active, body p a:hover, body p a:active,
body li a:hover,
body li a:active,
body details a:hover,
body details a:active {
  border-color: #303036;
}
html ol, body ol {
  list-style-type: decimal;
}
html ul, body ul {
  list-style-type: disc;
}
html ul.links, body ul.links {
  list-style-type: none;
}
html ::-moz-selection, body ::-moz-selection {
  background: #f45866;
  color: white;
}
html ::selection, body ::selection {
  background: #f45866;
  color: white;
}
body::before {
  content: "Daniel Gottschalk";
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
  writing-mode: vertical-lr;
  z-index: 3;
  text-align: center;
  transform: rotate(180deg);
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  color: grey;
  color: #EAE8E5;
  padding: 3vw;
  opacity: 0;
  transition: all 0.25s;
  font-size: 2.4vw;
}
@media (min-aspect-ratio: 1/1) {
  body::before {
    font-size: 1.92vh;
  }
}

.wrapper {
  display: flex;
  flex-wrap: wrap;
}

.section {
  width: 100vw;
  background: #222222;
  color: #EAE8E5;
  position: relative;
  z-index: 2;
}
.section:nth-child(2) {
  margin-top: 100vh;
}
.section:last-of-type {
  margin-bottom: 100vh;
}
.modular-card {
  order: -10;
}

.contact {
  order: -9;
}

.vita {
  order: 98;
}

.legal {
  order: 99;
}

.modular-card {
  position: fixed;
  top: 0;
  z-index: 1;
  min-height: 100vh;
  padding: 16vh 0 0 16vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-card {
    padding: 28vh 0 0 22vw;
  }
}
.modular-card h1 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12vw;
}
.modular-card h1 a {
  color: inherit;
  text-decoration: none;
}
.modular-card h1 a:hover, .modular-card h1 a:active {
  text-decoration: none;
  color: white;
}
@media (min-aspect-ratio: 1/1) {
  .modular-card h1 {
    font-size: 9.6vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-card h1 {
    max-width: 25vw;
  }
}
.modular-card p {
  max-width: 72vw;
  font-weight: 400;
  padding-top: 4vw;
  padding-left: 2vw;
  font-size: 7.2vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-card p {
    font-size: 5.76vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-card p {
    padding-top: 4vh;
    padding-left: 2vh;
  }
}
.modular-card p + p {
  padding-top: 48vw;
  padding-left: 5vw;
  color: grey;
  font-size: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-card p + p {
    padding-top: 16vh;
    padding-left: 5vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-card p + p {
    font-size: 3.2vh;
  }
}
.modular-card p + p a {
  border: none;
  padding: 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-bottom: 1px;
  border-bottom: 2px solid;
  color: grey;
}
.modular-card p + p a:hover {
  color: #EAE8E5;
  border-color: transparent;
}
.modular-card h1,
.modular-card p {
  transition: all 0.9s;
  position: relative;
  opacity: 0.25;
  left: 1vw;
  bottom: -1vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-card h1,
  .modular-card p {
    left: 1vh;
    bottom: -1vh;
  }
}

.modular-video {
  padding: 24vw 8vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-video {
    padding: 24vh 12vw;
  }
}
.modular-video::before {
  top: 0;
  display: block;
  content: "";
  width: 2.4vw;
  height: 2.4vw;
  background-color: white;
  border-radius: 2.4vw;
  position: absolute;
  z-index: 9;
  left: 50%;
}
@media (min-aspect-ratio: 1/1) {
  .modular-video::before {
    display: block;
    content: "";
    width: 1.8vh;
    height: 1.8vh;
    background-color: white;
    border-radius: 1.8vh;
    position: absolute;
    z-index: 9;
    left: 50%;
  }
}

.modular-text {
  padding: 24vw 8vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text {
    padding: 24vh 12vw;
  }
}
.modular-text::before {
  top: 0;
  display: block;
  content: "";
  width: 2.4vw;
  height: 2.4vw;
  background-color: white;
  border-radius: 2.4vw;
  position: absolute;
  z-index: 9;
  left: 50%;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text::before {
    display: block;
    content: "";
    width: 1.8vh;
    height: 1.8vh;
    background-color: white;
    border-radius: 1.8vh;
    position: absolute;
    z-index: 9;
    left: 50%;
  }
}
.modular-text.contact::before {
  display: none;
}
.modular-text.legal {
  color: #EAE8E5;
  padding: 24vw 6vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal {
    padding: 24vh 6vw;
    -moz-column-count: 2;
         column-count: 2;
  }
}
.modular-text.legal h4 {
  -moz-column-span: all;
       column-span: all;
  margin-bottom: 4.5vw;
  font-size: 9vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h4 {
    font-size: 7.2vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h4 {
    margin-bottom: 4.5vh;
  }
}
.modular-text.legal h5 {
  font-size: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h5 {
    font-size: 3.2vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h5 {
    font-size: 12px;
  }
}
.modular-text.legal h6 {
  font-size: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h6 {
    font-size: 3.2vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h6 {
    font-size: 12px;
  }
}
.modular-text.legal p {
  line-height: 1.3;
  font-size: 3.6vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal p {
    font-size: 2.88vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal p {
    font-size: 10px;
  }
}
.modular-text.legal h5, .modular-text.legal h6, .modular-text.legal p {
  margin-top: 4.5vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.legal h5, .modular-text.legal h6, .modular-text.legal p {
    margin-top: 12px;
  }
}
.modular-text.vita {
  padding: 24vw 8vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita {
    padding: 24vh 12vw;
  }
}
.modular-text.vita h4 {
  color: #EAE8E5;
  font-size: 9vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h4 {
    font-size: 7.2vh;
  }
}
.modular-text.vita h4 + * {
  margin-top: 4.5vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h4 + * {
    margin-top: 4.5vh;
  }
}
.modular-text.vita h5 {
  color: #EAE8E5;
  font-size: 5.8vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h5 {
    font-size: 4.64vh;
  }
}
.modular-text.vita h5 + p {
  margin-top: 2vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h5 + p {
    margin-top: 2vh;
  }
}
.modular-text.vita * + h5 {
  margin-top: 8vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita * + h5 {
    margin-top: 8vh;
  }
}
.modular-text.vita h6 {
  color: #EAE8E5;
  margin-top: 6vw;
  font-weight: 600;
  font-size: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h6 {
    font-size: 3.2vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h6 {
    margin-top: 6vh;
  }
}
.modular-text.vita h6 + * {
  margin-top: 3vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita h6 + * {
    margin-top: 3vh;
  }
}
.modular-text.vita p {
  line-height: 1.4;
  font-size: 3.6vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita p {
    font-size: 2.88vh;
  }
}
.modular-text.vita p + p {
  margin-top: 4vw;
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita p + p {
    margin-top: 4vh;
  }
}
@media (min-aspect-ratio: 1/1) {
  .modular-text.vita p {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 6vh;
         column-gap: 6vh;
  }
  .modular-text.vita h4, .modular-text.vita h4 + p {
    -moz-column-count: 1;
         column-count: 1;
  }
  .modular-text.vita h4 + p {
    margin-bottom: 8vh;
  }
  .modular-text.vita h4 + p + h5 {
    margin-top: 0;
  }
}
@media (min-aspect-ratio: 3/2) {
  .modular-text.vita p {
    -moz-column-count: 3;
         column-count: 3;
  }
}

.go .modular-card h1, .go .modular-card p {
  opacity: 1;
  bottom: 0;
  left: 0;
}
@media (min-aspect-ratio: 1/1) {
  .go .modular-card h1, .go .modular-card p {
    bottom: 0;
    left: 0;
  }
}

body.js-contact::before {
  opacity: 1;
}

.mediaembed.mediaembed-video {
  max-width: none !important;
  max-height: none !important;
}

.mediaembed-container::after {
  font-size: 70%;
  text-transform: uppercase;
  font-weight: 900;
  padding-top: 8vw;
  color: white;
  content: "play";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  text-align: center;
  z-index: 1;
  pointer-events: none;
}

label.mediaembed-play {
  text-indent: -220vw;
}
label.mediaembed-play::before {
  border-color: transparent;
}

/* MediaEmbed */
.mediaembed,
.mediaembed-responsive {
  margin: 3em auto;
  overflow: hidden;
  box-sizing: content-box;
}

.mediaembed-media .mediaembed-media,
.mediaembed-media embed,
.mediaembed-media iframe,
.mediaembed-media object,
.mediaembed-media video,
.mediaembed-embed img {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}

/* Media screen of death */
.mediaembed-msod {
  background-color: #000;
  color: white;
  display: block;
  font-size: 80%;
  overflow: hidden;
  padding: 1em;
  position: relative;
  text-align: center;
  vertical-align: middle;
  z-index: 1;
}

.mediaembed-msod:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  /* We make the element extra-large so we can shuffle it around without exposing the edges */
  height: 300%;
  left: -100%;
  top: -100%;
  width: 300%;
  animation: grain 5s steps(10) infinite;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==);
}

.mediaembed-msod .mediaembed-icon {
  font-size: 7em;
  line-height: 1em;
  margin: 0.25em auto 0;
}

.mediaembed-msod p b {
  display: block;
  font-weight: bold;
  text-align: center;
}

.mediaembed-msod .mediaembed-error-message {
  margin: 0 3em 1em;
  text-align: justify;
}

.mediaembed-msod .mediaembed-error-message b {
  color: #f00;
  text-transform: uppercase;
}

/* MediaEmbed media */
.mediaembed-container {
  position: relative;
}

/* MediaEmbed Play button */
.mediaembed-play {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 10px;
  width: 1em;
  height: 1em;
  color: #fff;
  display: block;
  font-size: 6em;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 2px #ccc;
  visibility: visible;
  opacity: 1;
  z-index: 2;
}

.mediaembed-play:before {
  box-shadow: 0 0 2px 0 #ccc inset, 0 0 2px 0 #ccc;
  border: medium solid;
  border-radius: 100%;
  content: "";
  display: block;
  height: 120%;
  left: calc(-10% - 10px);
  position: absolute;
  top: calc(-5% - 5px);
  width: 120%;
}

.mediaembed-play::after {
  bottom: -1000%;
  content: "";
  display: block;
  left: -1000%;
  position: absolute;
  right: -1000%;
  top: -1000%;
}

.mediaembed-play:hover {
  color: #ccc;
}

.mediaembed-media iframe ~ .mediaembed-play,
.mediaembed-media input:checked ~ .mediaembed-play {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s;
}

.mediaembed-media iframe ~ .mediaembed-play,
.mediaembed-media input:checked ~ .mediaembed-play:before {
  animation: ring 1.5s ease-in-out 1;
}

.mediaembed-media input:checked ~ noscript iframe {
  display: block !important;
}

.mediaembed-media .mediaembed-input {
  display: none;
}

.mediaembed-thumbnail {
  margin: auto;
  position: absolute;
  top: -50%;
  right: 0;
  bottom: -50%;
  left: 0;
  width: 100%;
  z-index: 0;
}

/* GitHub adjustments */
.mediaembed-github {
  overflow: auto;
}

.mediaembed-github .gist .line-numbers {
  width: 4em;
}

.mediaembed-github .gist-file {
  padding: 1em;
}

/*
 * Animations
 */
/* -- Grain -- */
@keyframes grain {
  0%, 100% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(-5%, -10%);
  }
  20% {
    transform: translate(-15%, 5%);
  }
  30% {
    transform: translate(7%, -25%);
  }
  40% {
    transform: translate(-5%, 25%);
  }
  50% {
    transform: translate(-15%, 10%);
  }
  60% {
    transform: translate(15%, 0%);
  }
  70% {
    transform: translate(0%, 15%);
  }
  80% {
    transform: translate(3%, 20%);
  }
  90% {
    transform: translate(-10%, 10%);
  }
}
/* -- Ring -- */
@keyframes ring {
  0% {
    transform: scale(1);
    opacity: 1;
    border-width: medium;
  }
  /* hidden */
  100% {
    transform: scale(3);
    opacity: 0;
    border-width: thin;
  }
}
