@charset "UTF-8";
/* line 5, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, .page #content_box #inner_box article h3, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* line 22, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
  line-height: 1;
}

/* line 24, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
  list-style: none;
}

/* line 26, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* line 28, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

/* line 30, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
  quotes: none;
}
/* line 103, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

/* line 32, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
  border: none;
}

/* line 116, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* line 106, ../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/typography/_vertical_rhythm.scss */
html {
  font-size: 100%;
  line-height: 1.75em;
}

/* line 10, sass/screen.scss */
body {
  background: black;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  font-family: "Open Sans", sans-serif;
}

/* line 17, sass/screen.scss */
a {
  text-decoration: none;
  color: #4080bf;
}

/* line 22, sass/screen.scss */
strong {
  font-weight: bold;
}

/* line 26, sass/screen.scss */
em {
  font-style: italic;
}

/* line 1, sass/cookie.scss */
#cookie_monster {
  position: fixed;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  font-family: 'Open Sans', sans-serif;
  z-index: 255;
}
@media (min-width: 48em) {
  /* line 1, sass/cookie.scss */
  #cookie_monster {
    top: 0;
  }
}
@media (max-width: 48em) {
  /* line 1, sass/cookie.scss */
  #cookie_monster {
    bottom: 0;
    background: rgba(239, 239, 143, 0.8);
  }
}
/* line 18, sass/cookie.scss */
#cookie_monster .content {
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
  margin: 0 auto;
  color: black;
  padding: 0.375em 1.5em 0.1875em 1.5em;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
#cookie_monster .content:after {
  content: " ";
  display: block;
  clear: both;
}
/* line 24, sass/cookie.scss */
#cookie_monster .content strong {
  font-weight: bold;
}
/* line 28, sass/cookie.scss */
#cookie_monster .content .button {
  display: block;
  background: black;
  color: white;
  padding: 0.375em 0.5625em;
  margin-top: 0.375em;
  margin-left: 0.1875em;
  float: right;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border: 0;
  font-size: 16px;
}
/* line 40, sass/cookie.scss */
#cookie_monster .content .button.no {
  background: #34b273;
}
/* line 44, sass/cookie.scss */
#cookie_monster .content .button.yes {
  font-weight: bold;
  background: #c0598c;
}

/* line 32, sass/screen.scss */
#top_banner {
  background-repeat: no-repeat !important;
  background-position: center center !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  -webkit-background-size: cover !important;
  background-size: cover !important;
  height: 120px;
  background: black;
}
@media (max-width: 32em) {
  /* line 32, sass/screen.scss */
  #top_banner {
    height: 80px;
  }
}

/* line 44, sass/screen.scss */
#bold_title {
  color: white;
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  font-family: 'Oswald', sans-serif;
  font-weight: normal;
  text-shadow: 0px 0px 3px black;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
#bold_title:after {
  content: " ";
  display: block;
  clear: both;
}
/* line 52, sass/screen.scss */
#bold_title h1 {
  font-size: 3em;
  text-align: right;
  position: relative;
  top: 0.75em;
  width: 47.82609%;
  float: left;
  margin-right: 4.34783%;
  white-space: nowrap;
}
/* line 61, sass/screen.scss */
#bold_title .tagline {
  font-size: 1.5em;
  text-align: left;
  width: 47.82609%;
  float: right;
  margin-right: 0;
}
/* line 66, sass/screen.scss */
#bold_title .tagline span {
  position: absolute;
  margin-left: -30.43478%;
  top: 3em;
}
@media (max-width: 32em) {
  /* line 74, sass/screen.scss */
  #bold_title h1 {
    font-size: 2em;
    top: 0.5em;
    width: 79.16667%;
    float: left;
    margin-left: 2.08333%;
    margin-right: 2.08333%;
  }
  /* line 80, sass/screen.scss */
  #bold_title .tagline span {
    font-size: 0.75em;
    top: 2.5em;
  }
}

/* line 89, sass/screen.scss */
.page #content_box #inner_box {
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
.page #content_box #inner_box:after {
  content: " ";
  display: block;
  clear: both;
}
/* line 92, sass/screen.scss */
.page #content_box #inner_box article {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
  padding-top: 56px;
}
/* line 96, sass/screen.scss */
.page #content_box #inner_box article.bottom_padding {
  padding-bottom: 56px;
}
@media (max-width: 48em) {
  /* line 92, sass/screen.scss */
  .page #content_box #inner_box article {
    width: 95.83333%;
    float: left;
    margin-left: 2.08333%;
    margin-right: 2.08333%;
  }
}
@media (max-width: 32em) {
  /* line 92, sass/screen.scss */
  .page #content_box #inner_box article {
    padding-top: 28px;
  }
}
/* line 108, sass/screen.scss */
.page #content_box #inner_box article header {
  text-align: center;
}
/* line 111, sass/screen.scss */
.page #content_box #inner_box article header h2, .page #content_box #inner_box article header h3 {
  font-size: 2em;
  font-family: "Oswald", sans-serif;
  line-height: 56px;
  padding-bottom: 28px;
}
@media (max-width: 32em) {
  /* line 111, sass/screen.scss */
  .page #content_box #inner_box article header h2, .page #content_box #inner_box article header h3 {
    font-size: 1.5em;
    padding-bottom: 0;
  }
}
/* line 124, sass/screen.scss */
.page #content_box #inner_box article h2, .page #content_box #inner_box article h3 {
  font-family: "Oswald", sans-serif;
  font-size: 1.5em;
  line-height: 56px;
}
/* line 130, sass/screen.scss */
.page #content_box #inner_box article h3 {
  font-size: 1.25em;
}
/* line 134, sass/screen.scss */
.page #content_box #inner_box article h3 strong {
  text-transform: uppercase;
}
/* line 139, sass/screen.scss */
.page #content_box #inner_box article ul {
  padding-left: 1em;
  margin: 14px 0;
}
/* line 143, sass/screen.scss */
.page #content_box #inner_box article ul.nomargin {
  margin: 0;
}
/* line 147, sass/screen.scss */
.page #content_box #inner_box article ul li {
  text-indent: -0.7em;
}
/* line 151, sass/screen.scss */
.page #content_box #inner_box article ul li:before {
  content: '• ';
  width: 1em;
}
/* line 156, sass/screen.scss */
.page #content_box #inner_box article ul.nobullets {
  padding-left: 0;
}
/* line 159, sass/screen.scss */
.page #content_box #inner_box article ul.nobullets li {
  text-indent: 0;
}
/* line 163, sass/screen.scss */
.page #content_box #inner_box article ul.nobullets li:before {
  content: '';
  width: 0;
}
/* line 170, sass/screen.scss */
.page #content_box #inner_box article p.calltoaction {
  text-align: center;
  display: block;
  margin: 14px 0;
  padding: 14px 0;
  background-color: #e7f2fd;
  font-size: 1.5em;
  font-family: "Oswald", sans-serif;
}
/* line 185, sass/screen.scss */
.page #content_box #inner_box article section.full {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
}
/* line 188, sass/screen.scss */
.page #content_box #inner_box article section.full.hr {
  height: 1px;
  padding: 0;
  margin: 20.44px 0 7px 0;
  background: #cccccc;
}
/* line 195, sass/screen.scss */
.page #content_box #inner_box article section.left {
  width: 47.82609%;
  float: left;
  margin-right: 4.34783%;
}
@media (max-width: 32em) {
  /* line 195, sass/screen.scss */
  .page #content_box #inner_box article section.left {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
/* line 202, sass/screen.scss */
.page #content_box #inner_box article section.right {
  width: 47.82609%;
  float: right;
  margin-right: 0;
}
@media (max-width: 32em) {
  /* line 202, sass/screen.scss */
  .page #content_box #inner_box article section.right {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
/* line 213, sass/screen.scss */
.page #content_box #inner_box article figure {
  position: relative;
  margin-top: 14px;
  margin-bottom: 14px;
}
/* line 218, sass/screen.scss */
.page #content_box #inner_box article figure img {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  width: 100%;
  display: block;
}
/* line 224, sass/screen.scss */
.page #content_box #inner_box article figure figcaption {
  position: absolute;
  width: 100%;
  bottom: 0;
  font-size: 0.75em;
  color: #fff;
  line-height: 28px;
  background: rgba(0, 0, 0, 0.5);
  padding: 0 0 0.2em 0;
  -moz-border-radius: 0 0 4px 4px;
  -webkit-border-radius: 0;
  border-radius: 0 0 4px 4px;
}
/* line 235, sass/screen.scss */
.page #content_box #inner_box article figure figcaption a {
  color: #fff;
  text-decoration: underline;
}
/* line 240, sass/screen.scss */
.page #content_box #inner_box article figure figcaption span {
  padding: 0 1em;
}
/* line 243, sass/screen.scss */
.page #content_box #inner_box article figure figcaption span:before {
  content: '\203A  ';
}

/* line 256, sass/screen.scss */
.home.page #bold_title h1 {
  text-align: center;
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
}
/* line 260, sass/screen.scss */
.home.page #bold_title h1 .hi {
  font-size: 0.667em;
  vertical-align: super;
  margin-right: 0.25em;
}
@media (max-width: 32em) {
  /* line 268, sass/screen.scss */
  .home.page #bold_title h1 {
    font-size: 3em;
    top: 0.35em;
  }
  /* line 273, sass/screen.scss */
  .home.page #bold_title .tagline span {
    background: red;
    font-size: 0.75em;
  }
}

/* line 281, sass/screen.scss */
#content_box {
  background: white;
  position: relative;
}
/* line 285, sass/screen.scss */
#content_box #main_menu {
  background: black;
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
#content_box #main_menu:after {
  content: " ";
  display: block;
  clear: both;
}
/* line 290, sass/screen.scss */
#content_box #main_menu ul {
  position: absolute;
  bottom: -42px;
  text-align: center;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
/* line 299, sass/screen.scss */
#content_box #main_menu ul li {
  padding: 10px 15px 5px 0;
  display: inline-block;
}
/* line 304, sass/screen.scss */
#content_box #main_menu ul a {
  color: white;
  font-family: "Oswald", sans-serif;
  font-weight: normal;
}
@media (max-width: 48em) {
  /* line 290, sass/screen.scss */
  #content_box #main_menu ul {
    width: 95.83333%;
    float: left;
    margin-left: 2.08333%;
    margin-right: 2.08333%;
    background: url("../images/hscroller-01.png") bottom center no-repeat;
    background-size: auto 100%;
  }
}

/* line 319, sass/screen.scss */
#inner_box {
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
#inner_box:after {
  content: " ";
  display: block;
  clear: both;
}

/* line 324, sass/screen.scss */
.home.page #inner_box {
  padding-bottom: 0;
}
/* line 328, sass/screen.scss */
.home.page h2, .home.page #content_box #inner_box article h3 {
  line-height: 80px;
  text-align: center;
  font-size: 2em;
  font-family: 'Oswald', sans-serif;
}
/* line 335, sass/screen.scss */
.home.page .work.column {
  width: 25%;
  height: 300px;
  float: left;
  display: block;
  padding: 0;
  margin: 0;
  position: relative;
  vertical-align: bottom;
  background: gray;
}
/* line 346, sass/screen.scss */
.home.page .work.column span {
  position: absolute;
  color: white;
  font-family: 'Oswald', sans-serif;
  font-size: 30px;
  white-space: nowrap;
  -moz-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  display: block;
  bottom: 0.33em;
  left: 1.33em;
  overflow: visible;
}
/* line 360, sass/screen.scss */
.home.page .work.column.research {
  background-image: url("../images/home-research-2x.png");
  background-position: right bottom;
  background-size: cover;
}
/* line 365, sass/screen.scss */
.home.page .work.column.development {
  background-image: url("../images/home-development-2x.png");
  background-position: right bottom;
  background-size: cover;
}
/* line 370, sass/screen.scss */
.home.page .work.column.writing {
  background-image: url("../images/home-writing-2x.png");
  background-position: right bottom;
  background-size: cover;
}
/* line 375, sass/screen.scss */
.home.page .work.column.other {
  background-image: url("../images/home-contact-2x.png");
  background-position: right bottom;
  background-size: cover;
}

/* line 383, sass/screen.scss */
#site_footer {
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
  color: #d9e6f2;
  line-height: 22.4px;
}
/* line 12, ../../../.rvm/gems/ruby-2.4.1/gems/susy-2.2.12/sass/susy/output/support/_clearfix.scss */
#site_footer:after {
  content: " ";
  display: block;
  clear: both;
}
/* line 388, sass/screen.scss */
#site_footer .footer_body {
  padding-top: 46px;
  border-bottom: 1px solid #60809f;
}
/* line 392, sass/screen.scss */
#site_footer .footer_body a {
  color: #8cb3d9;
}
/* line 396, sass/screen.scss */
#site_footer .footer_body .column {
  padding-top: 14px;
  font-size: 0.75em;
}
/* line 400, sass/screen.scss */
#site_footer .footer_body .column.first {
  width: 13.04348%;
  float: left;
  margin-right: 4.34783%;
}
/* line 403, sass/screen.scss */
#site_footer .footer_body .column.second {
  width: 13.04348%;
  float: left;
  margin-right: 4.34783%;
}
/* line 407, sass/screen.scss */
#site_footer .footer_body .column.last {
  width: 65.21739%;
  float: right;
  margin-right: 0;
}
@media (max-width: 48em) {
  /* line 412, sass/screen.scss */
  #site_footer .footer_body .column.first {
    width: 30.43478%;
    float: left;
    margin-right: 4.34783%;
    margin-left: 2.17391%;
  }
  /* line 417, sass/screen.scss */
  #site_footer .footer_body .column.last {
    width: 47.82609%;
    float: right;
    margin-right: 0;
    margin-right: 2.17391%;
  }
}

/* line 4, sass/_contact.scss */
.contact.page #content_box article section.links {
  width: 47.82609%;
  float: left;
  margin-right: 4.34783%;
}
@media (max-width: 48em) {
  /* line 4, sass/_contact.scss */
  .contact.page #content_box article section.links {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
/* line 12, sass/_contact.scss */
.contact.page #content_box article section.form {
  width: 47.82609%;
  float: right;
  margin-right: 0;
}
@media (max-width: 48em) {
  /* line 12, sass/_contact.scss */
  .contact.page #content_box article section.form {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
/* line 19, sass/_contact.scss */
.contact.page #content_box article section.form p.contact_thanks {
  background: #ecf9ec;
  color: #0d730d;
  padding: 0.5em 14px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
/* line 26, sass/_contact.scss */
.contact.page #content_box article section.form p.meanwhile {
  padding: 0.5em 14px;
}
/* line 30, sass/_contact.scss */
.contact.page #content_box article section.form .field {
  display: block;
  width: 100%;
  padding-bottom: 28px;
}
/* line 35, sass/_contact.scss */
.contact.page #content_box article section.form .field label {
  display: block;
  color: #9fbfdf;
}
/* line 40, sass/_contact.scss */
.contact.page #content_box article section.form .field input, .contact.page #content_box article section.form .field textarea {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding: 0 0 0 0.25em;
  display: block;
  width: 100%;
  height: 28px;
  font-size: 1em;
  font-family: "Open Sans", sans-serif;
  border: 0;
  border-bottom: 2px solid #4080bf;
  background: #f7fafc;
}
@media (max-width: 48em) {
  /* line 40, sass/_contact.scss */
  .contact.page #content_box article section.form .field input, .contact.page #content_box article section.form .field textarea {
    width: 95.83333%;
  }
}
/* line 57, sass/_contact.scss */
.contact.page #content_box article section.form .field textarea {
  min-height: 140px;
  max-width: 100%;
}
/* line 62, sass/_contact.scss */
.contact.page #content_box article section.form .field input:focus, .contact.page #content_box article section.form .field textarea:focus {
  outline: none;
}
/* line 66, sass/_contact.scss */
.contact.page #content_box article section.form .field input.invalid, .contact.page #content_box article section.form .field textarea.invalid {
  border-bottom: 2px solid #4080bf;
  background: #f7fafc;
}
/* line 71, sass/_contact.scss */
.contact.page #content_box article section.form .field input.valid, .contact.page #content_box article section.form .field textarea.valid {
  border-bottom: 2px solid #4080bf;
  background: white;
}
/* line 77, sass/_contact.scss */
.contact.page #content_box article section.form .button {
  text-align: right;
}
/* line 80, sass/_contact.scss */
.contact.page #content_box article section.form .button button {
  background: #3973ac;
  font-weight: bold;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: white;
  border: 0;
  font-size: 1em;
  line-height: 2.5em;
  padding: 0 0.75em 0.1em 0.5em;
}
/* line 90, sass/_contact.scss */
.contact.page #content_box article section.form .button button .fa {
  padding-right: 0.25em;
}
/* line 94, sass/_contact.scss */
.contact.page #content_box article section.form .button button:disabled {
  background: #b3cce6;
}

@media (max-width: 32em) {
  /* line 4, sass/_development.scss */
  .development.page #content_box article section.project {
    margin-top: 14px;
    border-top: 1px solid #cccccc;
    padding-top: 14px;
  }
  /* line 10, sass/_development.scss */
  .development.page #content_box article section.project h3 {
    line-height: 28px !important;
  }
}

/* line 2, sass/_cv.scss */
.page.cv .macro {
  margin-top: 28px;
}
/* line 5, sass/_cv.scss */
.page.cv .macro.first {
  margin-top: 0;
}
/* line 10, sass/_cv.scss */
.page.cv .macro .body section {
  margin-top: 28px;
}
/* line 13, sass/_cv.scss */
.page.cv .macro .body section:first-child, .page.cv .macro .body section#full_cv {
  margin-top: 0;
}
/* line 17, sass/_cv.scss */
.page.cv .macro .body section section {
  margin-top: 0;
  padding-left: 1em;
  border-left: 3px solid #d9e6f2;
}
