/* Site
-------------------------------------------------- */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro);
@import url(https://fonts.googleapis.com/css?family=Work+Sans:400,300,700);
html, body {
  height: 100%; }

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  font-family: "Work Sans", sans-serif;
  font-size: 1.25em;
  line-height: 1.5em;
  background: #fff;
  color: #222; }

/* Pix
-------------------------------------------------- */
img {
  display: block;
  max-width: 100%; }

/* Clearfix
-------------------------------------------------- */
.cf:after {
  content: "";
  display: table;
  clear: both; }

/* Helpers
-------------------------------------------------- */
.t {
  display: table; }

.tc {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-align: center; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * 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/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * 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/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * 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 Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
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"],
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; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

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

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 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 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 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/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*! Flickity v1.1.1
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.flickity-prev-next-button:hover {
  background: white; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F; }

.flickity-prev-next-button:active {
  filter: alpha(opacity=60);
  /* IE8 */
  opacity: 0.6; }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button:disabled {
  filter: alpha(opacity=30);
  /* IE8 */
  opacity: 0.3;
  cursor: auto; }

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-prev-next-button .arrow {
  fill: #333; }

/* color & size if no SVG - IE8 and Android 2.3 */
.flickity-prev-next-button.no-svg {
  color: #333;
  font-size: 26px; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  filter: alpha(opacity=25);
  /* IE8 */
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  filter: alpha(opacity=100);
  /* IE8 */
  opacity: 1; }

/*! responsive-nav.js 1.0.39 by @viljamis */
.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none; }

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1; }

@media (min-width: 40em) {
  .js .nav-collapse.closed {
    max-height: none; } }

.nav-collapse.opened {
  max-height: 9999px; }

.nav-toggle {
  font-family: "Material Icons";
  font-size: 1.8em;
  top: 0;
  float: right;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none; }
  @media (min-width: 40em) {
    .nav-toggle {
      display: none; } }

.header--fixed {
  position: fixed;
  z-index: 10;
  right: 0;
  left: 0;
  top: 0; }

.slide {
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all 0.5s ease-in-out; }

.slide--reset {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.slide--up {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

.animated {
  -webkit-animation-duration: .5s;
  -moz-animation-duration: .5s;
  -o-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%); }
  100% {
    -webkit-transform: translateY(0); } }
@-moz-keyframes slideDown {
  0% {
    -moz-transform: translateY(-100%); }
  100% {
    -moz-transform: translateY(0); } }
@-o-keyframes slideDown {
  0% {
    -o-transform: translateY(-100%); }
  100% {
    -o-transform: translateY(0); } }
@keyframes slideDown {
  0% {
    transform: translateY(-100%); }
  100% {
    transform: translateY(0); } }
.animated.slideDown {
  -webkit-animation-name: slideDown;
  -moz-animation-name: slideDown;
  -o-animation-name: slideDown;
  animation-name: slideDown; }

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(0); }
  100% {
    -webkit-transform: translateY(-100%); } }
@-moz-keyframes slideUp {
  0% {
    -moz-transform: translateY(0); }
  100% {
    -moz-transform: translateY(-100%); } }
@-o-keyframes slideUp {
  0% {
    -o-transform: translateY(0); }
  100% {
    -o-transform: translateY(-100%); } }
@keyframes slideUp {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-100%); } }
.animated.slideUp {
  -webkit-animation-name: slideUp;
  -moz-animation-name: slideUp;
  -o-animation-name: slideUp;
  animation-name: slideUp; }

/* Next/Prev nav
-------------------------------------------------- */
.nextprev {
  padding: 1em 0; }

.nextprev a {
  border: 0; }

.nextprev .prev {
  float: left; }

.nextprev .next {
  float: right; }

.flickity-prev-next-button.previous {
  left: 3.7em; }

.flickity-prev-next-button.next {
  right: 3.7em; }

/* Links
-------------------------------------------------- */
a {
  color: #000;
  text-decoration: none;
  transition: color .3s, background .3s, border .3s; }

a:hover {
  color: red; }

/* Headings
-------------------------------------------------- */
h1 {
  font-size: 2em;
  line-height: 1.25em;
  font-weight: 400;
  margin-bottom: .5em; }

h2 {
  font-size: 2em;
  line-height: 1.25em;
  font-weight: 300;
  margin-bottom: .5em;
  color: red; }

h3 {
  font-size: 1.4em;
  line-height: 1.5em;
  font-weight: 400;
  margin-bottom: .5em; }

h4 {
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.5em;
  margin-bottom: .5em;
  color: red; }

h1 a, h2 a, h3 a, h4 a {
  color: inherit;
  border: 0 !important; }

/* Text blocks */
.text ul,
.text ol {
  margin-left: 1em; }

/* Header
-------------------------------------------------- */
header.headroom--not-top {
  background-color: white;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6); }

.logo img {
  height: 1.7em;
  display: inline-block; }

.menu {
  margin-top: .5em;
  padding-bottom: .2em; }

.header {
  line-height: 1;
  font-size: 1em;
  padding: 1em;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.6); }
  @media (min-width: 40em) {
    .header {
      background-color: transparent;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none; } }

/* Navigation
-------------------------------------------------- */
.menu a {
  display: block;
  color: #222; }

.menu a:hover {
  color: red;
  text-decoration: none; }

.menu .active {
  color: red; }

.menu li {
  list-style: none; }

.menu > li {
  position: relative; }

.menu > li > a {
  padding: .35em 0;
  border-top: 1px solid #ddd;
  font-weight: 400; }

.submenu {
  position: absolute;
  z-index: 1;
  display: none;
  left: 1em; }

.submenu:before {
  position: absolute;
  z-index: -1;
  content: '';
  top: -.5em;
  left: 0;
  border-top: .5em solid transparent;
  border-bottom: .5em solid transparent;
  border-left: .5em solid #222; }

.submenu li {
  border-bottom: 1px solid #444; }

.submenu a {
  padding: .5em 1.5em;
  font-size: .9em;
  font-weight: 300;
  color: #fff;
  background: #222;
  white-space: nowrap; }

.submenu a:hover {
  background: #333;
  color: #fff; }

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

  .menu {
    margin-right: -1em; }

  .menu > li {
    float: right; }

  .menu > li > a {
    padding: .35em 1em;
    border: 0; }

  .menu > li:hover .submenu {
    display: block; } }
/* Footer
-------------------------------------------------- */
.footer {
  padding: 0;
  font-size: .8em;
  margin: 2em auto;
  font-size: 1em;
  line-height: 1.4;
  max-width: 900px; }

.copyright {
  float: left; }

.colophon {
  float: right; }

.colophon a b {
  color: red;
  padding-left: .25em; }

/* Main
-------------------------------------------------- */
.main {
  display: block;
  margin: 5em auto;
  padding: 1em;
  font-size: 1em;
  line-height: 1.4;
  max-width: 900px;
  padding-bottom: 1.5em;
  border-bottom: 2px solid red; }
  .main p {
    max-width: 700px; }

.main hr {
  margin: 3em 0;
  height: 2px;
  background: #ddd; }

.main p,
.main figure,
.main ul,
.main ol {
  margin-bottom: 1.5em; }

.main a {
  border-bottom: 2px solid #ddd; }

.main a:hover {
  border-color: #222; }

.status {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  border-radius: 10px;
  margin: 1em 1em 0 0;
  padding: 1em;
  background-color: #FFF;
  font-size: 1em;
  line-height: .5;
  -webkit-box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49);
  -moz-box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49);
  box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49); }

.demo-controls {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 200; }
  .demo-controls ul {
    display: inline-block;
    border-radius: 10px;
    margin: 0 .8em .8em 0;
    padding: .25em;
    background-color: #FFF;
    font-size: 2em;
    line-height: .5;
    -webkit-box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49);
    -moz-box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49);
    box-shadow: 10px 17px 90px 0px rgba(0, 0, 0, 0.49); }
  .demo-controls li {
    padding: 10px;
    display: inline;
    transition: color .2s; }
    .demo-controls li:hover {
      cursor: pointer;
      color: #666; }
    .demo-controls li.active {
      color: red; }

.thumbnail-view {
  background-color: yellow; }

.icon-rotated {
  transform: rotate(90deg); }

#home .gallery {
  line-height: 0;
  width: 100%;
  height: 50%; }
  @media (min-width: 40em) {
    #home .gallery {
      height: 100%; } }
#home .gallery-cell {
  width: 100%;
  height: 100%; }
@media (min-width: 40em) {
  #home .thumb-view2 .gallery-cell {
    float: left;
    width: 50%;
    height: 100%; } }
@media (min-width: 40em) {
  #home .thumb-view3 .gallery-cell {
    float: left;
    width: 50%;
    height: 50%; } }
@media (min-width: 60em) {
  #home .thumb-view3 .gallery-cell {
    width: 33.3333333333%; } }
@media (min-width: 40em) {
  #home .thumb-view4 .gallery-cell {
    float: left;
    width: 50%;
    height: 50%; } }
#home .gallery.flickity-enabled {
  height: 100%; }
  #home .gallery.flickity-enabled .gallery-cell {
    height: 100%; }
#home .gallery-image {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  transition: all .5s; }
#home .gallery-contain {
  width: calc(100% - 6em);
  height: calc(100% - 10em);
  background-size: contain; }
  #home .gallery-contain .project-name {
    bottom: -2.5em;
    left: 0;
    text-align: center;
    width: 100%;
    color: #000; }
#home .gallery-cover {
  width: 100%;
  height: 100%;
  background-size: cover; }
  #home .gallery-cover .project-name {
    bottom: 2em;
    left: 2em;
    text-align: left;
    padding: 1em;
    background-color: #000; }
#home .project-name {
  font-family: "Source Code Pro";
  font-size: 1em;
  margin-bottom: .5em;
  color: #fff;
  border-bottom: none;
  position: absolute; }

/* Project meta
-------------------------------------------------- */
.meta {
  margin-bottom: 1.5em; }

.meta li {
  float: left;
  list-style: none;
  margin-right: 2em;
  color: red; }

.meta li b {
  font-weight: 400;
  color: #000;
  padding-right: .25em; }

/* Project teaser
-------------------------------------------------- */
.teaser {
  list-style: none; }

.teaser li {
  margin-bottom: 1.5em;
  list-style: none; }

@media screen and (min-width: 50em) {
  .teaser li {
    float: left;
    width: 30%;
    margin-left: 5%; }

  .teaser li:first-child {
    margin-left: 0; } }

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