@font-face {
  font-family: "ff League Spartan";
  font-weight: bold;
  font-style: normal;
  src: url("/fonts/leaguespartan/leaguespartan-bold.eot");
  src: url("/fonts/leaguespartan/leaguespartan-bold.eot?#iefix") format("embedded-opentype"), url("/fonts/leaguespartan/leaguespartan-bold.woff2") format("woff2"), url("/fonts/leaguespartan/leaguespartan-bold.woff") format("woff"), url("/fonts/leaguespartan/leaguespartan-bold.ttf") format("truetype"), url("/fonts/leaguespartan/leaguespartan-bold.svg#leaguespartan/leaguespartan-bold") format("svg"); }
@font-face {
  font-family: "ff Poly";
  font-weight: normal;
  font-style: normal;
  src: url("/fonts/poly/poly-regular-webfont.eot");
  src: url("/fonts/poly/poly-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/poly/poly-regular-webfont.woff") format("woff"), url("/fonts/poly/poly-regular-webfont.ttf") format("truetype"), url("/fonts/poly/poly-regular-webfont.svg#poly/poly-regular-webfont") format("svg"); }
.chapter h3 {
  font-family: "League Spartan", "ff League Spartan", "Century", "Century Gothic", sans-serif;
  font-size: 3em;
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 0.2em; }
.chapter p,
.chapter p + ul > li {
  font-family: "Poly", "ff Poly", "Georgia", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  margin: 0; }
.chapter h3,
.chapter p,
.chapter p + ul > li {
  text-shadow: white 2px 0px 0px, white 1.7709120513px 0.9294463441px 0px, white 1.1361294935px 1.6459677318px 0px, white 0.2410733605px 1.9854177482px 0px, white -0.7092097741px 1.8700324854px 0px, white -1.4970214963px 1.3262453165px 0px, white -1.9418836349px 0.4786313286px 0px, white -1.9418836349px -0.4786313286px 0px, white -1.4970214963px -1.3262453165px 0px, white -0.7092097741px -1.8700324854px 0px, white 0.2410733605px -1.9854177482px 0px, white 1.1361294935px -1.6459677318px 0px, white 1.7709120513px -0.9294463441px 0px; }
.chapter p {
  padding-bottom: 1em; }
.chapter p + ul {
  margin-top: -1em;
  padding-top: 0;
  padding-bottom: 1em; }
.chapter p a,
.chapter p + ul > li a {
  text-decoration: none;
  font-weight: normal; }
.chapter time, .chapter .location, .chapter .role {
  font-family: "League Spartan", "ff League Spartan", "Century", "Century Gothic", sans-serif;
  color: rgba(0, 0, 0, 0.3);
  font-size: 1.4em;
  display: block;
  padding-bottom: 0.7em;
  margin-top: 0em; }
  .chapter time + time, .chapter time + .location, .chapter time + .role, .chapter .location + time, .chapter .location + .location, .chapter .location + .role, .chapter .role + time, .chapter .role + .location, .chapter .role + .role {
    margin-top: -0.5em; }
.chapter p ~ h3 {
  padding-top: 1em; }
.chapter p + ul li {
  margin-left: -0.67em;
  padding-left: 0; }
.chapter img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em; }

.block-link {
  display: block; }

body, html {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0; }
  @media screen and (orientation: portrait) {
    body, html {
      height: -webkit-fill-available; } }

html {
  background-image: linear-gradient(to bottom left, rgba(0, 255, 0, 0.4), rgba(187, 255, 51, 0)), linear-gradient(to right, rgba(34, 0, 204, 0), rgba(0, 136, 204, 0.9)), linear-gradient(to top, #cc0044, #ffbb33, #ffff99);
  background-color: white;
  background-position: cover;
  background-repeat: no-repeat; }

body {
  overflow: hidden; }

.wrapper {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }
  @media screen and (orientation: portrait) {
    .wrapper {
      height: -webkit-fill-available; } }

.index {
  width: 100%;
  flex-grow: 1;
  order: 100;
  position: relative;
  z-index: 2;
  justify-content: flex-end;
  max-height: 40em;
  position: absolute;
  padding: 1em;
  box-sizing: border-box;
  margin: 0;
  bottom: 0;
  left: 0;
  right: 0; }
  .index .index-content {
    width: auto;
    margin: 0; }
    .index .index-content a {
      color: white;
      text-decoration: none; }
    .index .index-content h2 {
      color: white;
      margin: 0;
      padding: 0;
      text-align: right; }
    .index .index-content .pdf {
      overflow: hidden;
      text-transform: uppercase;
      background: white;
      display: block;
      height: 29.7px;
      width: 21px;
      font-size: 8px;
      font: "League Spartan", "ff League Spartan", "Century", "Century Gothic", sans-serif;
      clip-path: polygon(0% 0%, 78% 0%, 100% 22%, 100% 100%, 0% 100%);
      color: #cb1a47;
      text-decoration: none;
      line-height: 45px;
      text-align: center;
      position: absolute;
      bottom: 2.5em;
      left: 2.5em;
      margin: 0; }
      .index .index-content .pdf:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 22%;
        height: 22%;
        border: 2px solid;
        border-top: 0;
        border-right: 0;
        display: block; }

.nav-container {
  overflow: visible;
  display: flex;
  width: 100vw;
  max-width: 800px;
  height: 80vh;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 5em;
  align-items: top;
  justify-content: space-around;
  font-family: "League Spartan", "ff League Spartan", "Century", "Century Gothic", sans-serif;
  flex-wrap: wrap; }
  @media screen and (orientation: portrait) {
    .nav-container {
      height: -webkit-fill-available; } }

.cell {
  height: 50vh;
  display: block;
  list-style: none;
  text-indent: 0;
  padding: 0;
  font-size: 12px; }
  .cell .cell-inner {
    height: 80px;
    width: 80px;
    margin-top: -40px;
    border-width: 2.6666666667px;
    border-width: 0; }

.cell-inner {
  box-sizing: border-box;
  border: 1px solid black;
  border-radius: 50%;
  background: transparent;
  transition: color 0.2s, background-color 0.2s, border-color 0.1s, box-shadow 0.2s;
  transform: translate3d(0px, 0px, 0px);
  justify-content: center;
  vertical-align: center;
  display: flex;
  align-items: center;
  color: white;
  padding: 0;
  text-indent: 0;
  box-sizing: border-box;
  padding-top: 0.25em;
  text-decoration: none;
  z-index: 2;
  position: relative;
  top: 100%;
  background: white;
  line-height: 0.8em;
  color: black; }
  .cell-inner .short-label {
    display: inline; }
  .cell-inner .long-label {
    display: none; }
  .cell-inner:hover {
    animation: infinite rotate-in-3d 2s linear, infinite pulse-box-shadow 1.3s linear; }

a.cell-inner:hover {
  color: white; }

@keyframes rotate-in-3d {
  0% {
    transform: rotate3d(0, 1, 0, 10deg); }
  25% {
    transform: rotate3d(0.5, 1.5, 0.5, 10deg); }
  50% {
    transform: rotate3d(0, 1, 0, 10deg); }
  75% {
    transform: rotate3d(-0.5, 0.5, 0, 10deg); }
  100% {
    transform: rotate3d(0, 1, 0, 10deg); } }
@keyframes pulse-box-shadow {
  0% {
    box-shadow: 1px 0 0 5px rgba(255, 255, 255, 0.5); }
  25% {
    box-shadow: 0 1px 0 6px rgba(255, 255, 255, 0.5); }
  50% {
    box-shadow: -1px 0 0 7px rgba(255, 255, 255, 0.5); }
  75% {
    box-shadow: 0 -1px 0 6px rgba(255, 255, 255, 0.5); }
  100% {
    box-shadow: 1px 0 0 5px rgba(255, 255, 255, 0.5); } }
.cell.name {
  order: 30;
  font-size: 15px;
  border-width: 4px;
  pointer-events: none; }
  .cell.name .cell-inner {
    height: 120px;
    width: 120px;
    margin-top: -60px;
    border-width: 3px;
    border-width: 0; }
  .cell.name .cell-inner {
    color: #b72dd2; }
.cell.employment {
  order: 40; }
  .cell.employment a.cell-inner {
    color: #ed6c21; }
    @media print {
      .cell.employment a.cell-inner {
        background: #ee722b;
        color: white; } }
  .cell.employment a.cell-inner:active {
    color: white;
    background: #ee722b;
    border-color: #ee722b; }
    .cell.employment a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(238, 114, 43, 0.5); }
  .cell.employment .page:before {
    background-color: rgba(238, 114, 43, 0.9); }
  .cell.employment .chapter h3 {
    color: #ee722b; }
  .cell.employment p a,
  .cell.employment p + ul > li a,
  .cell.employment a.close {
    color: #d45911;
    transition: color 0.2s; }
    .cell.employment p a:hover,
    .cell.employment p + ul > li a:hover,
    .cell.employment a.close:hover {
      color: #ee722b; }
  .cell.employment p a:hover,
  .cell.employment p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.employment p {
    color: #261003; }
.cell.talks {
  order: 10; }
  .cell.talks a.cell-inner {
    color: #87cf3f; }
    @media print {
      .cell.talks a.cell-inner {
        background: #8cd147;
        color: white; } }
  .cell.talks a.cell-inner:active {
    color: white;
    background: #8cd147;
    border-color: #8cd147; }
    .cell.talks a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(140, 209, 71, 0.5); }
  .cell.talks .page:before {
    background-color: rgba(140, 209, 71, 0.9); }
  .cell.talks .chapter h3 {
    color: #8cd147; }
  .cell.talks p a,
  .cell.talks p + ul > li a,
  .cell.talks a.close {
    color: #73b82e;
    transition: color 0.2s; }
    .cell.talks p a:hover,
    .cell.talks p + ul > li a:hover,
    .cell.talks a.close:hover {
      color: #8cd147; }
  .cell.talks p a:hover,
  .cell.talks p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.talks p {
    color: #142108; }
.cell.education {
  order: 20; }
  .cell.education a.cell-inner {
    color: #31c4b8; }
    @media print {
      .cell.education a.cell-inner {
        background: #33ccbf;
        color: white; } }
  .cell.education a.cell-inner:active {
    color: white;
    background: #33ccbf;
    border-color: #33ccbf; }
    .cell.education a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(51, 204, 191, 0.5); }
  .cell.education .page:before {
    background-color: rgba(51, 204, 191, 0.9); }
  .cell.education .chapter h3 {
    color: #33ccbf; }
  .cell.education p a,
  .cell.education p + ul > li a,
  .cell.education a.close {
    color: #29a399;
    transition: color 0.2s; }
    .cell.education p a:hover,
    .cell.education p + ul > li a:hover,
    .cell.education a.close:hover {
      color: #33ccbf; }
  .cell.education p a:hover,
  .cell.education p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.education p {
    color: #030c0b; }
.cell.about {
  order: 50; }
  .cell.about a.cell-inner {
    color: #f31b51; }
    @media print {
      .cell.about a.cell-inner {
        background: #f42559;
        color: white; } }
  .cell.about a.cell-inner:active {
    color: white;
    background: #f42559;
    border-color: #f42559; }
    .cell.about a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(244, 37, 89, 0.5); }
  .cell.about .page:before {
    background-color: rgba(244, 37, 89, 0.9); }
  .cell.about .chapter h3 {
    color: #f42559; }
  .cell.about p a,
  .cell.about p + ul > li a,
  .cell.about a.close {
    color: #da0b3f;
    transition: color 0.2s; }
    .cell.about p a:hover,
    .cell.about p + ul > li a:hover,
    .cell.about a.close:hover {
      color: #f42559; }
  .cell.about p a:hover,
  .cell.about p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.about p {
    color: #27020b; }
.cell.email {
  order: 5; }
  .cell.email a.cell-inner {
    color: #f5cc00; }
    @media print {
      .cell.email a.cell-inner {
        background: #ffd500;
        color: white; } }
  .cell.email a.cell-inner:active {
    color: white;
    background: #ffd500;
    border-color: #ffd500; }
    .cell.email a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(255, 213, 0, 0.5); }
  .cell.email .page:before {
    background-color: rgba(255, 213, 0, 0.9); }
  .cell.email .chapter h3 {
    color: #ffd500; }
  .cell.email p a,
  .cell.email p + ul > li a,
  .cell.email a.close {
    color: #ccaa00;
    transition: color 0.2s; }
    .cell.email p a:hover,
    .cell.email p + ul > li a:hover,
    .cell.email a.close:hover {
      color: #ffd500; }
  .cell.email p a:hover,
  .cell.email p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.email p {
    color: #0f0d00; }
.cell.github {
  order: 60; }
  .cell.github a.cell-inner {
    color: #ff0f87; }
    @media print {
      .cell.github a.cell-inner {
        background: #ff1a8c;
        color: white; } }
  .cell.github a.cell-inner:active {
    color: white;
    background: #ff1a8c;
    border-color: #ff1a8c; }
    .cell.github a.cell-inner:active:hover {
      animation: none;
      box-shadow: 0 0 0 6px rgba(255, 26, 140, 0.5); }
  .cell.github .page:before {
    background-color: rgba(255, 26, 140, 0.9); }
  .cell.github .chapter h3 {
    color: #ff1a8c; }
  .cell.github p a,
  .cell.github p + ul > li a,
  .cell.github a.close {
    color: #e60073;
    transition: color 0.2s; }
    .cell.github p a:hover,
    .cell.github p + ul > li a:hover,
    .cell.github a.close:hover {
      color: #ff1a8c; }
  .cell.github p a:hover,
  .cell.github p + ul > li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em; }
  .cell.github p {
    color: #290014; }
.cell.email .cell-inner, .cell.github .cell-inner {
  height: 40px;
  width: 40px;
  margin-top: -20px;
  border-width: 2.3333333333px;
  border-width: 0; }
.cell.employment .cell-inner, .cell.education .cell-inner {
  height: 96px;
  width: 96px;
  margin-top: -48px;
  border-width: 2.8px;
  border-width: 0; }
.cell.about .cell-inner, .cell.talks .cell-inner {
  height: 74px;
  width: 74px;
  margin-top: -37px;
  border-width: 2.6166666667px;
  border-width: 0; }

.cell-inner h2 {
  display: inline;
  font: inherit;
  margin: 0;
  padding: 0; }

.cell.github a.cell-inner {
  padding: 0;
  color: #ff1a8c; }
  .cell.github a.cell-inner .clip {
    width: 101%;
    height: 101%;
    clip-path: circle(); }
  .cell.github a.cell-inner svg {
    width: 100%;
    height: 100%;
    fill: #ff1a8c; }
  .cell.github a.cell-inner:active svg {
    fill: white; }

.page.page-background, .page.page-background:before, .page.page-background:after {
  pointer-events: none; }

.page {
  position: relative;
  top: 100%;
  left: 50%;
  height: 0;
  width: 0;
  margin-top: -40px; }
  .page:before, .page:after {
    content: "";
    transition: width 0.5s, height 0.5s, left 0.5s, top 0.5s, z-index 0s 0.4s;
    z-index: 1;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    transform: translate3d(0px, 0px, 0px); }

.chapter {
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  transition: opacity 0.2s 0s;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  padding: 0 15vw;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch; }
  @media screen and (max-width: 500px) {
    .chapter {
      padding: 0 10px; } }
  @media screen and (orientation: portrait) {
    .chapter {
      height: -webkit-fill-available; } }

.chapter-inner {
  padding: 0;
  position: relative;
  top: 0;
  box-sizing: border-box;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-around; }
  @media screen and (orientation: portrait) {
    .chapter-inner {
      min-height: -webkit-fill-available; } }

.chapter-inner-inner {
  flex: 0 0;
  margin: 10em 0; }

.cell:target .page:before {
  z-index: 3;
  width: 280vw;
  height: 280vw;
  left: -140vw;
  top: -140vw;
  transition-delay: 0s; }
  @media screen and (orientation: portrait) {
    .cell:target .page:before {
      width: 280vh;
      height: 280vh;
      left: -140vh;
      top: -140vh; } }
.cell:target .page:after {
  z-index: 4;
  width: 134vw;
  height: 134vw;
  left: -67vw;
  top: -67vw;
  transition-delay: 0.05s; }
  @media screen and (orientation: portrait) {
    .cell:target .page:after {
      width: 160vh;
      height: 160vh;
      left: -80vh;
      top: -80vh; } }

.cell:target .chapter {
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0.5s;
  z-index: 5;
  top: 0; }

.canvas-close {
  display: none; }

.cell:target ~ .canvas-close {
  z-index: 2;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  display: block; }
  @media screen and (orientation: portrait) {
    .cell:target ~ .canvas-close {
      height: -webkit-fill-available; } }

.close {
  position: absolute;
  font-size: 50px;
  color: rgba(0, 0, 0, 0.25);
  vertical-align: middle;
  line-height: 0.2em;
  text-decoration: none;
  top: 17px;
  z-index: 100;
  background: white;
  right: 17px;
  width: 45px;
  height: 45px;
  line-height: 60px;
  text-align: center;
  border-radius: 50%;
  display: none; }
  .cell:target .close {
    display: block; }
  .close:hover {
    color: rgba(0, 0, 0, 0.5); }

iframe {
  display: block;
  width: 70vw;
  height: 39.375vw; }
  @media screen and (max-width: 500px) {
    iframe {
      width: calc(100vw - 20px);
      height: calc(56.25vw - 20px); } }

@media screen and (max-width: 800px) {
  .nav-container .cell.name {
    display: none; } }
@media screen and (max-width: 600px) {
  .nav-container {
    padding: 5em 70px 5em;
    align-items: center; }

  .nav-container .cell {
    width: 120px;
    height: 120px;
    margin-bottom: 10px;
    font-size: 12px;
    margin-left: 10px;
    margin-right: 10px; }

  .nav-container .cell .cell-inner {
    margin: 0 auto;
    top: auto;
    width: 100%;
    height: 100%;
    border-width: 0; }
    .nav-container .cell .cell-inner .short-label {
      display: none; }
    .nav-container .cell .cell-inner .long-label {
      display: inline; }

  .page {
    top: 0; }

  .nav-container .cell.name {
    display: none; }
  .nav-container .cell.employment {
    order: 40; }
  .nav-container .cell.talks {
    order: 45; }
  .nav-container .cell.education {
    order: 20; }
  .nav-container .cell.about {
    order: 50; }
  .nav-container .cell.email {
    order: 70; }
  .nav-container .cell.github {
    order: 60; } }
@media screen and (max-width: 420px) {
  .nav-container {
    padding-left: 10px;
    padding-right: 10px; }

  .nav-container .cell {
    width: 86px;
    height: 86px; } }
.print {
  display: none; }

@media print {
  body, html {
    background-image: none;
    background: transparent; }

  .print {
    display: block; }

  .no-print {
    display: none; }

  .wrapper {
    overflow: visible;
    width: auto;
    height: auto; }

  .web-notice {
    font-family: "League Spartan", "ff League Spartan", "Century", "Century Gothic", sans-serif;
    text-align: center;
    font-size: 3em; }
    .web-notice a {
      color: black !important;
      font-size: 0.6em;
      display: block; }

  .index {
    display: none; }

  .chapter {
    clear: left;
    opacity: 1;
    z-index: 5;
    height: auto;
    position: static;
    padding: 0 !important;
    width: 100%;
    overflow: visible; }

  .chapter-inner {
    padding: 0 !important;
    overflow: visible;
    height: auto !important;
    min-height: 0; }

  .chapter-inner-inner {
    margin: 0 !important; }

  .nav-container {
    display: block;
    height: auto;
    padding: 0;
    width: 100%;
    overflow: visible;
    max-with: 100%; }

  .cell {
    position: static;
    height: auto;
    width: 100%; }

  .cell-inner {
    display: none; }

  .page {
    display: none; }

  .chapter-inner-inner {
    padding: 2em 0; }

  html, body {
    height: auto;
    overflow: visible;
    width: 100%; }

  body {
    padding: 3em;
    box-sizing: border-box; }

  .close {
    display: none; }

  p {
    padding-bottom: 1em !important; }

  p a {
    color: black !important;
    font-weight: normal !important; }

  p a[title]:after {
    content: " (" attr(title) ")";
    color: #444;
    font-weight: normal; }

  .cell.name {
    display: none; }

  .close, svg {
    display: none !important; }

  .pdf {
    display: none !important; }

  iframe {
    border: 2px solid black;
    background: black;
    border-radius: 2px; } }

/*# sourceMappingURL=application.css.map */
