﻿/* imported: '/styles/base/variables.scss */

/* imported: '/styles/base/base.scss */

html {
  padding: 0;
  height: 100%;
  margin: 0;
}
body {
  height: 100%;
  padding: 0;
  margin: 0;
  background: #fff;
  font: 13px / 1.65em 'Droid Sans Mono', monospace;
  color: #000;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior: none;
}
body.center { text-align: center; }
a,
a:visited,
a:active { color: inherit; }
i { font-style: normal; }
b { font-weight: normal; }
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
dl, dd, dt {
  margin: 0;
  padding: 0;
}
dl { line-height: 1.8em; }
hr { border-style: none; }
hr:before {
  display: block;
  content: '';
  height: 1px;
  width: 20px;
  background: #ddd;
  margin: 30px 0;
}
a {
  text-decoration: none;
  transition: color 0.15s ease-in-out;
  border-bottom: 1px solid #ddd;
}
a:hover { color: #91759f; }
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
  color: #91759f;
  margin: 0 0 0.5em;
  text-rendering: optimizeLegibility;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #91759f;
  text-decoration: none;
  border-bottom: 1px solid #ddd;
  padding-bottom: 2px;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover { color: #000 !important; }
h3 {
  color: #bbb !important;
  font-weight: 400;
}
h6 a { text-decoration: none; }
.content .center {
  display: table;
  height: 100%;
  width: 100%;
}
.content .center .text {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
  padding: 0 40px;
  white-space: normal;
}
main {
  display: block;
  margin: auto;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  white-space: normal;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
main .content {
  max-height: 800px;
  margin: auto auto auto 450px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 4;
  box-sizing: content-box;
}
body.loaded main { animation: pagefade 0.4s ease-in-out; }
.hide { display: none; }
/* imported: '/styles/base/fonts.scss */

@font-face {
  font-family: 'frontend';
  src: url('https://static.cmcdn.net/kits/142/fonts/frontend/frontend.woff');
  font-weight: normal;
  font-style: normal;
}
/* imported: '/styles/base/forms.scss */

input:focus,
select:focus,
textarea:focus,
button:focus { outline: none; }
.field {
  position: relative;
  margin: 0 0px 2em;
}
.field > .message {
  position: absolute;
  right: 15px;
  top: 47px;
  padding: 5px 15px;
  visibility: hidden;
  opacity: 0;
  font-style: normal;
  border-radius: 2px;
  opacity: 0;
  transform: translate(-34px, 0);
  transition: transform 0.2s ease-in-out, opacity 0.4s ease-in-out, visibility 0.2s ease-in-out;
}
.field label {
  opacity: 1;
  visibility: visible;
  display: block;
  margin-bottom: 1em;
  padding: 0 15px;
  color: rgba(0, 0, 0, 0.6) !important;
}
input, textarea {
  display: block;
  font: 1em 'Droid Sans Mono', monospace;
  background: #fafafa;
  color: #000;
  width: 100%;
  height: 60px;
  padding: 10px 15px;
  margin: 0;
  border: none;
  border-bottom: solid 1px rgba(51, 51, 51, 0.08);
  box-shadow: none;
  border-radius: 0px;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
button {
  border: none;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font: 1em 'Droid Sans Mono', monospace;
  background: #91759f;
  color: #fff;
  border-radius: 2px;
  display: inline-block;
  padding: 10px 25px;
  margin: 1em 0 0 15px;
  transition: background 0.2s ease-in-out, border 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
button:hover { opacity: 0.8; }
textarea { height: 10em !important; }
.field.invalid > .message {
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
  background: #ef6469;
  color: rgba(255, 255, 255, 0.8);
}
.field.invalid > input,
.field.invalid > textarea { border-bottom: solid 1px rgba(239, 100, 105, 0.4) !important; }
.field.focused > input,
.field.focused > textarea { border-bottom: solid 1px #91759f !important; }
/* imported: '/styles/base/animations.scss */

@keyframes pagefade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes colorFade {
  0% { stroke: #fff; }
  100% { stroke: #000; }
}
/* imported: '/styles/base/typography.scss */

p { margin-top: 0; }
/* imported: '/styles/components/contactForm.scss */

#contactForm { position: relative; }
#contactForm .guts {
  list-style: none;
  padding: 0;
}
#contactForm .confirmedGuts {
  opacity: 0;
  visibility: hidden;
}
#contactForm .icon.success:before {
  display: block;
  font: 56px / 56px 'frontend';
  content: "\e04c";
  position: absolute;
  top: 0;
  color: #91759f;
  width: 56px;
  height: 56px;
  border-radius: 100%;
}
#contactForm .icon {
  display: block;
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 60px;
  height: 60px;
  text-align: center;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  transform: translate(0px, -20px);
}
#contactForm.sent .guts {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s 0.3s;
}
#contactForm.sent .confirmedGuts h3 {
  margin: 0 0 15px;
  color: #000 !important;
}
#contactForm.sent .confirmedGuts a {
  width: 150px;
  margin: 0 auto 15px;
}
#contactForm.sent .confirmedGuts {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding: 60px 0 0;
  margin: 12em 0;
  transition: opacity 0.3s, visibility 0s 0.3s;
  opacity: 1;
  visibility: visible;
}
#contactForm.sent .icon.success {
  transition: transform 0.1s linear, opacity 0.1s linear;
  transform: translate(0px, 0px);
  visibility: visible;
  opacity: 1;
}
/* imported: '/styles/components/player.scss */

@font-face {
  font-family: 'player';
  src: url('https://static.cmcdn.net/kits/106/fonts/player/player.woff');
  font-weight: normal;
  font-style: normal;
}
carbon-player {
  display: block;
  position: relative;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
  user-select: none;
  font-family: 'player';
}
carbon-player.video { background: #000; }
carbon-player.standard {
  width: 768px;
  height: 432px;
}
carbon-player.big {
  width: 960px;
  height: 540px;
}
carbon-player.hd {
  width: 1280px;
  height: 720px;
}
carbon-player.fullscreen {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}
carbon-player > video,
carbon-player > audio {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  top: 0;
  left: 0;
  visibility: hidden;
}
carbon-player.played > video { visibility: visible; }
video::-webkit-media-controls-panel { display: none; }
carbon-player > .posterPlay {
  position: absolute;
  width: 136px;
  height: 136px;
  top: 50%;
  left: 50%;
  margin: -68px 0 0 -68px;
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
  opacity: 1;
  border-radius: 50%;
  z-index: 5;
  text-align: center;
  font-size: 136px;
  line-height: 136px;
  text-indent: 2px;
  color: #fff;
  transition: background 0.2s, opacity 0.2s;
}
carbon-player > .posterPlay:before { content: '\e600'; }
carbon-player > .posterPlay:hover { background: rgba(0, 0, 0, 0.15); }
carbon-player:hover > .posterPlay { background: rgba(0, 0, 0, 0.15); }
carbon-player.played > .posterPlay { display: none; }
carbon-player > .poster,
carbon-player > .artwork,
carbon-player > .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
carbon-player > .poster,
carbon-player > .artwork {
  background-position: center;
  background-repeat: no-repeat;
}
carbon-player > .poster {
  z-index: 1;
  cursor: pointer;
  background-color: #000;
}
carbon-player > .artwork { background-size: cover; }
carbon-player > .poster { background-size: contain; }
carbon-player.played > .poster { display: none; }
carbon-player > .overlay { background: linear-gradient(to bottom, rgba(10, 10, 10, 0.05) 40%, rgba(10, 10, 10, 0.5) 100%); }
carbon-player .control {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 50px;
  color: #fff;
  line-height: 50px;
  cursor: pointer;
  background: rgba(26, 26, 26, 0.2);
  transition: background 0.2s;
}
carbon-player .control:hover { background: rgba(115, 207, 203, 0.8); }
carbon-player > carbon-controls {
  display: block;
  position: relative;
  opacity: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: opacity 0.3s;
}
carbon-player.played.hovering > carbon-controls,
carbon-player.played.scrubbing > carbon-controls { opacity: 1; }
carbon-player.played.hoverIdle > carbon-controls { opacity: 0; }
carbon-player.audio > carbon-controls,
carbon-player.audio.played.hoverIdle > carbon-controls { opacity: 1; }
carbon-player > carbon-controls .box {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  transition: opacity 0.2s;
}
carbon-player.scrubbing > carbon-controls > .box,
carbon-player.scrubbing > carbon-controls > .playToggle { opacity: 0; }
carbon-player.fullscreen > carbon-controls > .box { bottom: 9%; }
carbon-player.hoveringTrack > carbon-controls > .box,
carbon-player.hoveringTrack > carbon-controls > .playToggle { opacity: 0; }
carbon-player .playToggle {
  position: absolute;
  left: 20px;
  bottom: 20px;
  opacity: 0;
  transition: opacity 0.2s, background 0.2s;
}
carbon-player .playToggle:before { content: '\e600'; }
carbon-player.hovering .playToggle { opacity: 1; }
carbon-player.playing .playToggle:before { content: '\e601'; }
carbon-player.audio .playToggle { opacity: 1 !important; }
carbon-player carbon-scrubber {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 12px;
  z-index: 5;
}
carbon-player carbon-scrubber > .track {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.15);
  left: 0;
  cursor: pointer;
  transition: height 0.2s;
}
carbon-player carbon-scrubber:hover > .track { height: 12px; }
carbon-player.waiting carbon-scrubber > .track { background: url('https://static.cmcdn.net/kits/124/player2/images/buffering.gif'); }
carbon-player.waiting.scrubbing carbon-scrubber > .track { background: none; }
@keyframes bufferAnimation {
  0% { opacity: 1; }
  50% { opacity: 0.6; }
  100% { opacity: 1; }
}
carbon-player.loading .playToggle {
  animation: bufferAnimation 2s infinite;
  animation-timing-function: ease-in-out;
}
carbon-player carbon-scrubber > .track > .bufferedBar,
carbon-player carbon-scrubber > .track > .playedBar {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  height: 100%;
  bottom: 0;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  transition: border-radius 0.1s;
}
carbon-player carbon-scrubber > .track > .playedBar { background: #74CFCB; }
carbon-player carbon-scrubber > .track > .playedBar.end,
carbon-player carbon-scrubber > .track > .bufferedBar.end {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
carbon-player time {
  position: absolute;
  color: rgba(255, 255, 255, 0.75);
  text-rendering: optimizeLegibility;
  font-size: 12px;
  cursor: default;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.3);
  bottom: 14px;
  opacity: 0;
}
carbon-player time.total {
  right: 0;
  transition: color 0.2s;
}
carbon-player time.current {
  left: 0;
  transition: opacity 0.2s, color 10s;
}
carbon-player carbon-scrubber:hover > time.current,
carbon-player.scrubbing carbon-scrubber > time.total { opacity: 1; }
carbon-player.video time.total { display: none; }
carbon-player.audio time.current,
carbon-player.audio time.total {
  bottom: 0px;
  opacity: 1 !important;
}
carbon-player.audio time.current { left: 0 !important; }
carbon-player .muteToggle {
  display: inline-block;
  background: rgba(26, 26, 26, 0.2);
}
carbon-player .muteToggle:before { content: '\e604'; }
carbon-player.muted .muteToggle:before { content: '\e605'; }
carbon-player .fullscreenToggle {
  display: inline-block;
  display: none;
  margin-bottom: 10px;
}
carbon-player .fullscreenToggle:before { content: '\e602'; }
carbon-player.fullscreen .fullscreenToggle:before { content: '\e603'; }
carbon-player.supportsFullscreen .fullscreenToggle { display: block; }
carbon-player.hoverIdle * { cursor: none; }
carbon-waveform {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s;
}
carbon-waveform > .bar {
  position: absolute;
  bottom: 0;
  background: rgba(255, 255, 255, 0.75);
  transition: background 2s linear;
}
carbon-waveform > .bar.fill { background: #91E6D7; }
carbon-player.hoveringTrack carbon-waveform > .bar { transition: none !important; }
carbon-player.playing carbon-waveform,
carbon-player.hoveringTrack carbon-waveform { opacity: 1; }
carbon-controls, carbon-waveform { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
carbon-player.audio .playToggle {
  background: rgba(145, 230, 215, 0.75);
  left: 3.125%;
  bottom: 30px;
  transition: background 0.2s;
}
carbon-player.audio carbon-scrubber {
  position: absolute;
  width: calc(93.75% - 65px);
  height: 50px;
  left: calc(3.125% + 65px);
  bottom: 25px;
  transition: opacity 0.2s;
}
carbon-waveform { bottom: 20px; }
.collapsed {
  max-height: 90px;
  height: 90px;
}
.collapsed carbon-player.audio .playToggle { bottom: 5px; }
.collapsed carbon-player.audio carbon-scrubber { bottom: 0px; }
/* imported: '/styles/components/editor.scss */

article.editable carbon-editor > carbon-indicator { right: -45px !important; }
article.editable carbon-menu { right: -35px !important; }
article.editable .confirmGuts {
  margin: 0 !important;
  left: auto !important;
  right: 0 !important;
}
/* imported: '/styles/components/zoomer.scss */

.zoomable { cursor: zoom-in; }
#zoomer {
  transition: background 0.2s ease;
  background: rgba(255, 255, 255, 0.9);
  -webkit-user-select: none;
  user-select: none;
}
#zoomer.closing { pointer-events: none; }
#zoomer.closed {
  pointer-events: none;
  background: transparent;
}
/* imported: '/styles/parts/header.scss */

header {
  width: 450px;
  padding: 20px;
  top: 0;
  box-sizing: border-box;
}
header > a {
  display: block;
  color: inherit !important;
  text-decoration: none !important;
  border: none !important;
  margin-bottom: 60px;
}
header > a > * {
  color: #000 !important;
  transition: color 0.15s ease-in-out;
}
header a:hover > * { color: #91759f !important; }
header h1 {
  font-weight: normal;
  margin: 0;
  overflow-wrap: break-word;
}
header h1.logo {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
header h2.tagline {
  margin-top: 3px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2em;
}
.center h1.logo { margin: 0 auto; }
.fixedLetterSpacing header.hasLogo h2 { margin-top: 1em; }
.variedLetterSpacing header > a > h2 {
  margin-top: 0.4em;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2em;
  font-style: italic;
}
.project header > a { margin-bottom: 20px; }
.variedLetterSpacing.project a h1 {
  font-weight: 700;
  font-size: 1.8em;
  margin-bottom: 0px;
}
.variedLetterSpacing.project a h2 {
  font-size: 16px;
  font-style: italic;
}
.smallLogo h1.logo { height: 60px !important; }
.smallLogo h2 { font-size: 20px !important; }
.fixedLetterSpacing .smallLogo h2 { font-size: 13px !important; }
/* imported: '/styles/parts/footer.scss */

footer {
  width: 410px;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 20px 20px;
}
footer p,
footer carbon-branding {
  margin: 0;
  color: #999;
}
footer carbon-branding > a > span:first-of-type { display: none; }
footer carbon-branding > a > carbon-glyph {
  position: relative;
  font: 28px / 0 'frontend';
  top: 7px;
  margin: 0 -5px 0 -6px;
}
footer carbon-branding > a:hover {
  color: #a993b4 !important;
  border-bottom: 1px solid #a993b4;
}
footer carbon-branding > a {
  display: inline-block;
  text-decoration: none;
  padding-bottom: 0;
  margin-top: 0.3em;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease-in-out;
  color: #91759f;
}
.center footer carbon-branding span:first-of-type { display: inherit; }
.center footer carbon-branding carbon-glyph { margin: 0 -5px; }
/* imported: '/styles/parts/nav.scss */

.sidebar {
  width: 450px;
  height: 100%;
  max-height: 800px;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  z-index: 3;
  transform: translateZ(0);
}
nav {
  display: block;
  padding: 0 0 20px;
}
nav > ul > li {
  display: block;
  line-height: 2em;
}
nav > ul > li.current > a { color: #91759f; }
nav > ul {
  display: table-cell;
  vertical-align: middle;
  width: 450px;
  height: 100%;
  padding: 0 !important;
}
/* imported: '/styles/parts/post.scss */

article {
  position: relative;
  max-width: 700px;
  margin: 0 auto 6em;
  text-align: center;
  font-size: 0.8em;
}
article:last-child { padding-bottom: 6em; }
article carbon-grid {
  display: block;
  position: relative;
}
article > .body { font-size: 1rem; }
article > .header,
article > .body,
article > .tags {
  max-width: 460px;
  margin: 1.5em auto;
}
article > .tags > a:hover { opacity: 1; }
article > .tags > a.tag:before { opacity: 0.4; }
article > .tags > a {
  opacity: 0.6;
  margin: 0 0.15em;
  border-bottom: none !important;
  text-decoration: none;
  transition: opacity 0.2s;
}
article p,
article ul,
article ol { margin: 0 0 1em 0; }
article ul {
  list-style: disc;
  list-style-position: inside;
  padding-left: 0 !important;
}
article ol {
  list-style: decimal;
  list-style-position: inside;
  padding-left: 0 !important;
}
article .longPost ul,
article .longPost ol {
  padding-left: 1.4em !important;
  list-style-position: outside;
}
article .longPost { text-align: left; }
.fixedLetterSpacing article > .body { font-size: 1em; }
.fixedLetterSpacing article { font-size: 1em; }
/* imported: '/styles/pages/about.scss */

.about {
  position: relative;
  white-space: nowrap;
}
.about h3 { text-transform: uppercase; }
.about h5 { display: inline-block; }
.about section .padd p:last-child { margin: 0; }
.about section .padd {
  display: block;
  padding: 0 20px;
}
.about section {
  display: block;
  margin: 0 20px 0 0;
  padding: 0;
  white-space: normal;
  columns: 430px auto;
  column-gap: 20px;
  column-fill: auto;
  height: 100%;
}
.about .photo {
  float: left;
  display: block;
  width: 450px;
  height: 800px;
  margin: 0 20px 0 0;
  background-size: contain;
  background-repeat: none;
}
.about .content {
  height: 100%;
  display: table-cell;
  background: transparent;
  opacity: 1;
  position: relative;
  transition: opacity 0.3s ease-in-out;
}
.about .column {
  float: left;
  display: block;
  max-height: 800px;
  height: 100%;
  width: 450px;
  position: relative;
  padding: 10px 0;
  margin: 0 20px 0 0;
  box-sizing: border-box;
}
.about .title p,
.about .title h2 {
  color: #000;
  transform: translateY(0);
}
.about .block .guts { margin-bottom: 1.5em; }
.about .block .guts:last-of-type { margin-bottom: 0; }
.about .block {
  margin-bottom: 2.5em;
  page-break-inside: avoid;
  break-inside: avoid-column;
}
.about .list i {
  display: inline-block;
  margin-right: 5px;
}
.about .list i:after {
  display: inline-block;
  margin-left: 5px;
  content: '\2022';
  opacity: 0.3;
}
.about .list i:last-child:after {
  content: '';
  margin-right: 0px;
}
.about .links a {
  margin: 0 8px 0 1px;
  text-transform: capitalize;
}
.about .table {
  display: table;
  border-collapse: collapse;
}
.about .table .tr { display: table-row; }
.about .table .date,
.about .table .guts {
  display: table-cell;
  padding-bottom: 0.6em;
}
.about .table .guts span { opacity: 0.9; }
.about .table .guts b { font-weight: 700; }
.about .table .date {
  width: 15%;
  opacity: 0.65;
}
.about .table .guts { width: 100%; }
.about section iframe { max-width: 400px; }
/* imported: '/styles/pages/contact.scss */

.contact {
  position: relative;
  white-space: nowrap;
  height: 100%;
}
.contact section .padd {
  display: block;
  padding: 0 20px;
}
.contact section {
  margin-bottom: 2.5em;
  white-space: normal;
}
.contact .column {
  float: left;
  display: block;
  height: 800px;
  width: 450px;
  position: relative;
  padding: 20px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  background: #fff;
  margin: 0 20px 0 0;
  box-sizing: border-box;
}
body.center .form { text-align: left; }
.availability .note { display: block; }
.availability.now .note { color: #3ED984; }
.availability.soon .note { color: #ecaa0c; }
.availability.unavailable .note { color: #c1c1c1; }
/* imported: '/styles/pages/projects.scss */

.projects {
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.projects .thumb > .bg:hover .title { opacity: 1; }
.projects .thumb > .bg:hover .newBug > i { background: rgba(42, 45, 53, 0); }
.projects .thumb > .bg {
  display: block;
  height: 100%;
  background-size: cover;
  background-position: center;
  text-decoration: none;
  border: 0;
}
.projects .thumb .title > h2 {
  color: #fff;
  font-weight: normal;
  margin: 0;
  transform: translateY(-20px);
  transition: transform 0.3s ease-in-out;
}
.projects .thumb .title > p {
  color: #fff;
  margin-bottom: 0;
  transform: translateY(-10px);
  transition: transform 0.3s ease-in-out;
}
.projects .thumb .title > i {
  background: #fff;
  color: #000;
  display: inline-block;
  transform: translateY(10px);
  transition: transform 0.3s ease-in-out;
  padding: 5px 25px;
  margin-top: 2em;
  border-radius: 2px;
}
.projects .thumb .title:hover h2,
.projects .thumb .title:hover p,
.projects .thumb .title:hover i { transform: translateY(0px); }
.projects .thumb .title {
  height: 100%;
  width: 100%;
  display: table-cell;
  vertical-align: middle;
  background: rgba(145, 117, 159, 0.7);
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.projects .thumb {
  display: inline-block;
  width: 450px;
  height: 100%;
  text-align: center;
  position: relative;
  white-space: normal;
}
.newBug {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 0;
  right: 0;
  overflow: hidden;
}
.newBug > i:after {
  font: normal 16px 'frontend';
  content: '\e003';
  color: #fff;
  position: relative;
  top: 6px;
}
.newBug > i {
  display: block;
  position: absolute;
  top: -8px;
  right: -23px;
  width: 50px;
  height: 20px;
  background: rgba(42, 45, 53, 0.8);
  text-align: center;
  padding: 8px;
  transform: rotate(45deg);
  transition: background 0.2s ease;
}
.scrollHint {
  position: fixed;
  z-index: 1;
  right: 10px;
  height: 100%;
  max-height: 800px;
  display: table;
  vertical-align: middle;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.scrollHint > span {
  display: table-cell;
  vertical-align: bottom;
  padding: 10px 0;
}
.scrollHint i > svg {
  height: 20px;
  width: 15px;
  animation: colorFade 1s ease-in-out 0s infinite alternate;
  margin-top: 7px;
}
.scrollHint i:nth-child(2) svg { animation: colorFade 1s ease-in-out 0.15s infinite alternate; }
.scrollHint i:nth-child(3) svg { animation: colorFade 1s ease-in-out 0.3s infinite alternate; }
.scrollHint.hidden {
  transition: opacity 0.3s ease;
  opacity: 0;
}
/* imported: '/styles/pages/project.scss */

.project nav { display: none; }
.project header h1 { margin-bottom: 20px; }
.textBlock {
  font-size: 12px;
  width: 450px;
  height: 100%;
  padding-right: 20px;
  white-space: normal;
  overflow-y: scroll;
}
.miniTitle {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 12;
  transition: opacity 1s ease-in-out, visibility 0s;
  opacity: 0;
  visibility: hidden;
}
.miniTitle > h6 > a > i {
  font-size: 1em;
  margin-left: 10px;
  opacity: 0;
  transition: all 0.3s ease;
}
.miniTitle > h6 > a:hover > i {
  opacity: 1;
  margin-left: 0;
  transition: all 0.3s ease-in-out;
}
.miniTitle > h6 > a {
  color: white !important;
  text-decoration: none;
  border-bottom: none !important;
}
.miniTitle > h6 {
  color: white !important;
  position: fixed;
  left: 20px;
  font-weight: normal;
}
.tall .miniTitle {
  opacity: 1;
  visibility: visible;
}
.projectWrap {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  max-height: 800px;
  margin: auto 0;
  padding: 0 300px 0 0;
}
.projectSingle {
  background: #fff;
  white-space: nowrap;
  width: auto;
  max-height: 800px;
  height: 100%;
  font-size: 0;
  position: relative;
  margin-right: 20px;
  z-index: 10;
}
.projectSingle .piece > img {
  vertical-align: middle;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  max-height: 100%;
}
.projectSingle .piece:last-child { margin: 0; }
.projectSingle .piece.video .mediaPlayer {
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
}
.projectSingle .piece {
  position: relative;
  display: block;
  float: left;
  height: 100%;
  width: auto;
  background-position: center;
  margin: 0 20px 0 0;
  padding: 0;
}
.caption {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(42, 45, 53, 0.6);
  padding: 0px;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.caption a { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
.caption p,
.caption ul,
.caption ol {
  font-size: 12px;
  text-align: center;
  color: #fff;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.piece.hovering .caption {
  opacity: 1;
  visibility: visible;
  z-index: 11;
}
.info {
  top: 0;
  left: 0;
  width: 450px;
  height: 100%;
  max-height: 560px;
  height: auto;
  position: relative;
  box-sizing: border-box;
}
.info hr {
  width: 410px;
  margin-left: 20px;
  opacity: 0;
  transition: opacity 1s ease 0.5s;
}
.info .block p:last-of-type { margin-bottom: 3em; }
.info .block {
  width: 450px;
  max-width: 100vw;
  margin: -20px 0 0 0;
  padding: 0;
  white-space: normal;
  opacity: 0;
  columns: 450px auto;
  column-gap: 0px;
  transition: opacity 1s ease 0.3s, margin 0.5s ease 0.2s;
}
.info h2 {
  font-weight: 400;
  margin-bottom: 2em;
  width: 450px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 1s ease;
}
.info dt,
.info dd {
  display: inline;
  margin: 0;
  padding: 0px;
}
.info dt {
  color: #999;
  margin-right: 5px;
}
.info dd:after {
  content: "";
  display: block;
}
.info p,
.info h2,
.info dl {
  padding: 0 2em 0 20px;
  break-inside: avoid-column;
  page-break-inside: avoid;
}
.info.dropIn hr,
.info.dropIn h2,
.info.dropIn .block { opacity: 1; }
.info.dropIn .block { margin-top: 0; }
.projects .info h2 { font-weight: normal; }
.captionLink {
  display: inline-block;
  width: 30px;
  height: 30px;
  right: 10px;
  bottom: 10px;
  position: absolute;
  z-index: 9999;
  opacity: 1;
  cursor: pointer;
  transition: opacity 0.5s ease;
}
.captionLink:after {
  display: block;
  content: '\2022';
  color: #fff;
  line-height: 30px;
  font-size: 18px;
  text-align: center;
  width: 30px;
  height: 30px;
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  border-radius: 50%;
}
.hovering .captionLink:after { background: rgba(0, 0, 0, 0); }
.nextProjectLink {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  overflow: hidden;
  width: 300px;
  z-index: 5;
}
.nextProjectLink > a span {
  color: rgba(0, 0, 0, 0.9);
  transition: color 0.3s ease-in-out;
}
.nextProjectLink > a i {
  margin-left: -20px;
  opacity: 0;
  transition: opacity 0.2s ease-in-out, margin 1s linear;
}
.nextProjectLink > a:hover span { color: rgba(0, 0, 0, 1); }
.nextProjectLink > a:hover i {
  opacity: 1;
  margin-left: 0;
  transition: all 0.4s ease-in-out 0.1s;
}
.nextProjectLink > a:hover {
  background: rgba(255, 255, 255, 0.7);
  color: #000 !important;
}
.nextProjectLink > a {
  display: block;
  position: fixed;
  right: 0;
  width: 300px;
  height: 100%;
  max-height: 800px;
  margin: auto 0;
  background: rgba(255, 255, 255, 0.8);
  color: #000;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease-in-out;
  z-index: 7;
  border: 0;
}
.nextProjectLink .bg {
  display: block;
  position: fixed;
  right: 0;
  width: 300px;
  height: 100%;
  max-height: 800px;
  margin: auto 0;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.nextProjectLink.last .bg { opacity: 0; }
.nextProjectLink.last a:hover { color: #000 !important; }
.nextProjectLink.last a {
  color: #000 !important;
  background: transparent !important;
}
.goHome {
  display: inline-block;
  width: 450px;
  height: 100%;
  text-align: center;
}
.goHome .center a {
  height: 100%;
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
  z-index: 9999;
  text-align: center;
  border: 0;
}
.goHome a span {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.goHome a:hover span { opacity: 1; }
.goHome a:hover { color: #000 !important; }
.goHome:hover a:after { opacity: 1; }
h6 a.goHome {
  text-align: left;
  height: inherit;
  width: inherit;
}
.contained {
  height: 100% !important;
  margin-top: 0 !important;
  background: #f3f3f3;
  text-align: left;
}
.goHome.contained { background: none; }
.sidebar ol,
.caption ol,
.column ol { list-style: decimal; }
.sidebar ul,
.caption ul,
.column ul { list-style: disc; }
.sidebar ol,
.caption ol,
.sidebar ul,
.caption ul {
  list-style-position: outside;
  padding: 0 0 0 35px;
  margin: 0 0 1em;
}
.column ol,
.column ul {
  list-style-position: outside;
  padding: 0 0 0 15px;
  margin: 0 0 1em;
}
.center .sidebar ol,
.caption ol,
.center .sidebar ul,
.caption ul,
.center .column ol,
.center .column ul {
  list-style-position: inside !important;
  padding: 0 !important;
}
carbon-container.hasArtwork {
  display: block;
  position: relative;
  width: 100%;
  max-height: 800px;
  height: 800px;
}
carbon-player { position: absolute !important; }
carbon-container {
  display: block;
  position: relative;
  top: 50%;
  transform: translate(0, -50%);
}
carbon-player.video time.total { display: none; }
object {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.collapsed {
  max-height: 90px;
  height: 90px;
}
.collapsed carbon-player.audio .playToggle { bottom: 30px !important; }
.collapsed carbon-player.audio carbon-scrubber { bottom: 25px !important; }
carbon-player { z-index: 10; }
carbon-caption { z-index: 9; }
/* imported: '/styles/pages/privacy.scss */

input#accesscodeField {
  background: url('../img/lightLock18.svg') 14px 20px / 18px no-repeat #fafafa;
  text-indent: 25px;
}
.accessForm .loginGuts,
.accessForm .requestGuts {
  position: absolute;
  top: 0;
  left: 50%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s 0.3s;
}
.accessForm .loginGuts { margin-left: -290px; }
.accessForm .requestGuts { margin-left: -290px; }
.accessForm.login .loginGuts,
.accessForm.request .requestGuts {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s;
}
.accessForm .loginGuts,
.accessForm #accessRequestForm .guts { padding: 40px 40px 5px; }
.accessForm .loginGuts { width: 500px; }
.accessForm #accessRequestForm .guts { width: 500px; }
.accessForm { margin: 0 auto; }
.accessForm h3 {
  color: #000;
  margin: 0 0 40px;
  text-align: center;
  border-bottom: none;
}
.accessForm .button { float: left; }
.accessForm .requestAccess {
  float: right;
  display: block;
  line-height: 20px;
  margin: 38px 0 0;
  text-decoration: none;
  cursor: pointer;
  transition: border-bottom 0.2s ease-in-out;
  border-bottom: 1px solid #ddd;
  padding-bottom: 2px;
}
.accessForm li.field.empty button.submitButton.button { transition: background 0.5s ease; }
body.light .accessForm li.field.empty button.submitButton.button { transition: background 0.5s ease; }
.accessForm li.field button.submitButton.button { margin-top: 30px; }
.accessForm .confirmedGuts {
  display: block;
  visibility: hidden;
  opacity: 0;
  height: 0;
}
#accessRequestForm.sent .guts {
  visibility: hidden;
  opacity: 0;
  height: 0;
}
#accessRequestForm.sent .confirmedGuts {
  visibility: visible;
  opacity: 1;
  height: auto;
  text-align: center;
}
.accessForm .confirmedGuts h3 { margin: 35px 0 15px; }
#wrapper.access { position: relative; }
#wrapper.access h3 {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 600px;
  background: #111;
  line-height: 100px;
  text-align: center;
  border-radius: 8px;
}
#accessRequestForm .confirmedGuts {
  position: relative;
  padding: 70px 0 0;
}
#accessRequestForm.sending .button {
  background: url('../img/spinner_48-1dafec.gif') center center no-repeat #1dafec;
  background-size: 24px;
  color: transparent;
}
#accessRequestForm .icon {
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  visibility: hidden;
  opacity: 0;
  display: block;
  margin: 0 auto;
  width: 60px;
  height: 60px;
  text-align: center;
  z-index: 100;
  transform: translate(0px, -20px);
}
#accessRequestForm .icon.success:before {
  display: block;
  font: 56px / 56px 'frontend';
  content: "\e04c";
  position: absolute;
  top: 0;
  color: #91759f;
  width: 56px;
  height: 56px;
  border-radius: 100%;
}
a.return {
  text-decoration: none;
  border-bottom: 1px solid #ddd;
  padding-bottom: 2px;
}
.loginGuts .message { top: 16px; }
.loginGuts ::placeholder {
  color: rgba(51, 51, 51, 0.2);
  -webkit-font-smoothing: antialiased;
}
#accessRequestForm.sent .icon.success {
  transition: transform 0.1s linear, opacity 0.1s linear;
  transform: translate(0px, 0px);
  visibility: visible;
  opacity: 1;
}
/* imported: '/styles/pages/blog.scss */

carbon-paginator {
  max-width: 700px;
  margin: 0 auto;
  padding: 30px !important;
  display: block;
  overflow: auto;
}
carbon-paginator .prev { float: left; }
carbon-paginator .next { float: right; }
.tagHeader {
  text-align: center;
  margin-bottom: 3em;
}
.tagHeader small {
  font-size: inherit;
  opacity: 0.5;
}
.tag:before { content: '#'; }
.blogWrapper {
  margin-right: 20px !important;
  max-width: 700px;
  min-width: 350px;
}
.blogWrapper carbon-container { transform: none; }
.blogWrapper.blogPost { max-height: 800px !important; }
/* imported: '/styles/media/media.scss */

@media screen and (max-device-width:1000px) {
  html { -webkit-text-size-adjust: none; }
}
@media screen and (max-height:820px) {
  .sidebar {
    bottom: 30px;
    max-height: 770px;
  }
  main > .content {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
/* imported: '/styles/options/accentColor.scss */

carbon-player.audio .control { background: rgba(145, 117, 159, 0.8); }
carbon-player.audio .control:hover { background: #91759f; }
carbon-player.audio.loading .control:hover { background: rgba(145, 117, 159, 0.8); }
carbon-waveform > .bar.fill { background: #91759f; }
carbon-player.audio.played time.current { color: #91759f; }
carbon-player.audio.ended time.total { color: #91759f; }
carbon-player carbon-scrubber > .track > .playedBar { background: #91759f; }
carbon-player.video .control { background: rgba(26, 26, 26, 0.2); }
carbon-player.video .control:hover { background: #91759f; }
/* imported: '/styles/options/colorScheme.scss */

.light.color .thumb.title > i { color: #91759f; }
.dark.color .thumb .title > i {
  background: #000;
  color: #fff;
}
.light .collapsed carbon-player time {
  color: rgba(51, 51, 51, 0.25);
  text-shadow: none;
}
.light .collapsed carbon-waveform > .bar { background: rgba(51, 51, 51, 0.2); }
.light .collapsed carbon-waveform { opacity: 1; }
/* imported: '/styles/options/letterSpacing.scss */

.fixedLetterSpacing b { font-weight: normal !important; }
.fixedLetterSpacing em { font-style: normal !important; }
.fixedLetterSpacing nav a,
.fixedLetterSpacing p a,
.fixedLetterSpacing dl a { padding-bottom: 1px; }
.fixedLetterSpacing .about .table .guts b,
.fixedLetterSpacing .about .table .guts em { color: #91759f; }
.fixedLetterSpacing carbon-player time {
  font-family: 'Droid Sans Mono', monospace;
  font-weight: normal;
}
body.variedLetterSpacing {
  font-weight: 400;
  font-size: 13px;
  font-family: 'PT Serif', serif;
}
.variedLetterSpacing h1,
.variedLetterSpacing h2,
.variedLetterSpacing h4 {
  font-family: 'Playfair Display', serif;
  line-height: 1.1em;
  font-weight: 400;
}
.variedLetterSpacing h1 {
  font-size: 3.6em;
  font-weight: 900;
}
.variedLetterSpacing .miniTitle,
.variedLetterSpacing h2 { font-size: 1.6em; }
.variedLetterSpacing h5 {
  font-size: 1.2em;
  margin-right: 5px;
}
.variedLetterSpacing nav a {
  font-family: 'Playfair Display', serif;
  font-size: 1.5em;
  line-height: 2em;
}
.variedLetterSpacing .nextProjectLink .text span {
  font-size: 1.6em;
  font-family: 'Playfair Display', serif;
}
.variedLetterSpacing .nextProjectLink.last .text {
  font-size: 3em;
  font-family: 'Playfair Display', serif;
}
.variedLetterSpacing .arrow {
  font-size: 1.2em;
  font-family: 'Helvetica Neue', Arial, sans-serif;
}
.variedLetterSpacing .form { padding: 15px 20px; }
.variedLetterSpacing button { font-family: 'Playfair Display', serif; }
.variedLetterSpacing carbon-player time {
  font-family: 'PT Serif', serif;
  font-weight: bold;
}
.variedLetterSpacing.project h1 {
  font-weight: 700;
  font-size: 1.8em;
}
.variedLetterSpacing.project .info dl > dt { font-style: italic; }
.variedLetterSpacing.project .info dl { line-height: 2em; }
.variedLetterSpacing.project .info .block p:last-of-type { margin-bottom: 2em; }
.variedLetterSpacing.project .captionLink { font-size: 13px; }
.variedLetterSpacing .contact { padding-right: 40px; }
.variedLetterSpacing .contact h3 { margin-bottom: 0.2em; }
.variedLetterSpacing .contact h5 {
  font-size: 1.2em;
  margin-bottom: 0.2em;
}
.variedLetterSpacing .contact li.column:nth-of-type(2) { background: #f9f9f9; }
.variedLetterSpacing .about h2 {
  color: #000;
  font-size: 2em;
  margin-bottom: 0.2em;
}
.variedLetterSpacing .about h3 i {
  position: relative;
  display: inline-block;
  padding: 0 1em 0 0;
  background: #fff;
  z-index: 12;
}
.variedLetterSpacing .about h3 {
  position: relative;
  display: block;
  margin-bottom: 1.2em;
  text-transform: uppercase;
}
.variedLetterSpacing .about h3:after {
  content: '';
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #eee;
  z-index: 1;
}
.variedLetterSpacing .about h5 {
  color: #000;
  font-size: 1.2em;
  margin-bottom: 0.2em;
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}
.variedLetterSpacing .about .title {
  margin-bottom: 0.1em;
  font-style: italic;
  opacity: 0.7;
}
.variedLetterSpacing .about .description { margin-bottom: 1.2em; }
.variedLetterSpacing .about .jobType { margin-bottom: 0.2em; }
.variedLetterSpacing .about .byLine i {
  color: #000;
  font-style: italic;
}
.variedLetterSpacing .about .byLine {
  opacity: 0.6;
  color: #999;
}
.variedLetterSpacing.center .about h3 i {
  text-align: center;
  padding: 0 1em;
}
.variedLetterSpacing .form input,
.variedLetterSpacing .form textarea {
  font-family: 'PT Serif', serif;
  background: #fff;
}
.variedLetterSpacing #contactForm.sent .confirmedGuts h3 {
  font-family: 'PT Serif', serif;
  margin: 0 0 15px;
  font-size: 14px;
}
/* imported: '/styles/options/siteAlignment.scss */

.center hr:before {
  margin-left: auto;
  margin-right: auto;
}
.center nav ul li { margin: 0 5px; }
.center .info p,
.center .info h2,
.center .info dl { padding: 0 2em; }
/* imported: '/styles/options/hoverColor.scss */

.lightHover .thumb .title { background: rgba(236, 236, 236, 0.7); }
.lightHover .thumb .title p,
.lightHover .thumb .title h2 { color: #000; }
.lightHover .piece .caption p,
.lightHover .piece .caption ol,
.lightHover .piece .caption ul { color: #000; }
.lightHover .piece .caption > a { border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
.lightHover .piece .caption { background: rgba(236, 236, 236, 0.7); }
.darkHover .thumb .title i {
  background: #000;
  color: #fff;
}
.darkHover .thumb .title h2,
.darkHover .thumb .title p { color: #fff; }
.darkHover .thumb .title { background: rgba(42, 45, 53, 0.6); }
.darkHover .piece .caption { background: rgba(42, 45, 53, 0.7); }
.colorHover .piece .caption { background: rgba(145, 117, 159, 0.7); }
.colorHover .piece .caption a:hover { color: #000; }
.dark.colorHover .piece .caption a { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
/* imported: '/styles/utility.scss */

.utility {
  height: 100%;
  font-size: 18px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}
.utility .centerWrap {
  display: table;
  width: 100%;
  height: 60%;
}
.utility .centered {
  display: table-cell;
  vertical-align: middle;
}
.utility #wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.utility h1 {
  font-size: 1.6em !important;
  margin-bottom: 1.2em !important;
}
/* imported: '/styles/base/clears.scss */

.about:after,
.projectSingle:after,
.contact:after {
  display: block;
  content: ".";
  clear: both;
  font-size: 0;
  line-height: 0;
  height: 0;
  overflow: hidden;
}