.debug.dump {
  font-size: 10px; }

@font-face {
  font-family: "Tiempos";
  font-weight: 300;
  font-style: normal;
  src: url("/assets/font/Tiempos-HeadlineTest-Light.otf") format("truetype"); }

@font-face {
  font-family: "Tiempos";
  font-weight: 400;
  font-style: normal;
  src: url("/assets/font/Tiempos-HeadlineTest-Regular.otf") format("truetype"); }

@font-face {
  font-family: "Tiempos";
  font-weight: 600;
  font-style: normal;
  src: url("/assets/font/Tiempos-HeadlineTest-Semibold.otf") format("truetype"); }

* {
  box-sizing: border-box; }

html, body {
  margin: 0 auto;
  padding: 0;
  background: #222222; }

body {
  font-size: 14px;
  color: #ffffff;
  font-family: "Helvetica", sans-serif; }

h1, h2, h3, h4, h5, h6 {
  color: #ffffff;
  font-family: "Tiempos", "Lucida Console", serif;
  font-weight: 300;
  letter-spacing: 0.02em; }

a {
  text-decoration: none; }

img {
  display: block; }

button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0; }

.face-effect {
  width: 100%;
  padding: 20px; }
  .face-effect canvas {
    display: block;
    width: 100%;
    height: auto; }
  .face-effect p {
    font-family: monospace;
    text-align: center;
    font-size: 24px;
    margin-bottom: 0; }

.photo-selector {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-height: 100vh;
  overflow: hidden;
  max-width: 19vh; }
  .photo-selector .photo-selector--photo {
    display: block;
    -ms-flex-preferred-size: 19%;
        flex-basis: 19%;
    min-height: 19%;
    border: 3px solid white;
    margin-top: 0.85vh; }
    .photo-selector .photo-selector--photo img {
      display: block;
      overflow: hidden;
      background: #8080ff;
      position: relative;
      max-height: 100%; }

.shader-selector {
  padding: 2px 0 40px; }
  .shader-selector .shader-selector--rail {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    height: 100%;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .shader-selector .shader-selector--rail img {
      display: block;
      box-shadow: 0 0 1px 3px white;
      border-radius: 50%;
      overflow: hidden;
      width: 128px; }
    .shader-selector .shader-selector--rail button {
      display: block;
      position: relative;
      max-width: 128px; }
      .shader-selector .shader-selector--rail button:after {
        display: block;
        content: attr(data-shader);
        font-size: 20px;
        font-family: monospace;
        color: white;
        opacity: 0;
        transform: translateY(-50px);
        transition: opacity 0.1s, transform 0.1s;
        position: absolute;
        top: 0%;
        left: 0%;
        width: 100%; }
      .shader-selector .shader-selector--rail button:hover:after {
        opacity: 1;
        transform: translateY(-30px); }

[data-layout*="face-gallery"] {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 auto; }
  [data-layout*="face-gallery"] > div {
    -ms-flex: 1;
        flex: 1;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 356px; }

[data-layout="main"] {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative;
  margin: 0 auto; }
  [data-layout="main"] [data-widget="photo-selector"] {
    margin-right: 20px; }
  [data-layout="main"] [data-widget="normal-display"] {
    -ms-flex: 0;
        flex: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
    [data-layout="main"] [data-widget="normal-display"] canvas {
      height: 100vh;
      display: block; }
  [data-layout="main"] [data-widget="shader-selector"] {
    margin-left: 20px; }

[data-view~="global"] {
  text-align: center; }
