@import "normalize.css";
html {
  -webkit-font-smoothing: antialiased;
}
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  *zoom: 1;
}
.force-hw {
  -moz-transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -o-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
html {
  font-size: 0.9em;
}
header h1 {
  font-size: 1em;
}
html,
body {
  background-color: #fff;
  height: 100%;
  width: 100%;
}
.lato {
  font-family: 'Lato', sans-serif;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  -ms-opacity: 0;
  -o-opacity: 0;
  opacity: 0;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(0);
  filter: alpha(opacity= 0 );
  -webkit-transition: opacity 500ms, font-size 1000ms;
  -moz-transition: opacity 500ms, font-size 1000ms;
  -ms-transition: opacity 500ms, font-size 1000ms;
  -o-transition: opacity 500ms, font-size 1000ms;
  transition: opacity 500ms, font-size 1000ms;
}
.lato._done {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -ms-opacity: 1;
  -o-opacity: 1;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(100);
  filter: alpha(opacity= 100 );
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  background-color: #fff;
  color: #000;
  display: inline-block;
  padding: 0 .15em;
  margin: 0 -0.15em;
  -webkit-transition: color 500ms, background-color 500ms;
  -moz-transition: color 500ms, background-color 500ms;
  -ms-transition: color 500ms, background-color 500ms;
  -o-transition: color 500ms, background-color 500ms;
  transition: color 500ms, background-color 500ms;
}
.view {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  border-color: #fff;
  border-style: solid;
  border-width: 5px 0 0;
  overflow: auto;
}
.view.full {
  min-height: 100%;
  width: 100%;
  position: relative;
}
.view.full .mw960 {
  max-width: 960px;
  margin: auto;
  width: 100%;
}
.view.full .ph2em {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 2em;
  padding-right: 2em;
}
.view .table {
  display: table;
}
.view .cell {
  display: table-cell;
  padding-right: 1em;
}
.view .cell:last-child {
  padding-right: 0;
}
header {
  background-color: #6b6b6b;
  border-width: 0 !important;
  padding: 2em;
  text-align: center;
  -webkit-transition: opacity 1.5s 1s, height 1s 1s, min-height 1s 1s, font-size 1s 0, border-width 1s;
  -moz-transition: opacity 1.5s 1s, height 1s 1s, min-height 1s 1s, font-size 1s 0, border-width 1s;
  -ms-transition: opacity 1.5s 1s, height 1s 1s, min-height 1s 1s, font-size 1s 0, border-width 1s;
  -o-transition: opacity 1.5s 1s, height 1s 1s, min-height 1s 1s, font-size 1s 0, border-width 1s;
  transition: opacity 1.5s 1s, height 1s 1s, min-height 1s 1s, font-size 1s 0, border-width 1s;
}
header h1 {
  color: #fff;
  font-weight: 100;
  font-size: 6em;
  line-height: 0.75em;
  vertical-align: middle;
  margin: auto;
  height: 1em;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}
body.fix .view {
  padding-bottom: 4em;
}
body.fix header {
  min-height: 0 !important;
  height: 2em !important;
  width: 100%;
  border-color: #fff;
  border-style: solid;
  border-width: 2px 0 0;
  position: fixed;
  bottom: 0;
  left: 0;
}
body.fix header h1 {
  font-size: 2em;
}
body.fix header.view {
  padding-bottom: 2em;
}
section h2 {
  font-family: 'Lato', sans-serif;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  -ms-opacity: 0;
  -o-opacity: 0;
  opacity: 0;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(0);
  filter: alpha(opacity= 0 );
  -webkit-transition: opacity 500ms, font-size 1000ms;
  -moz-transition: opacity 500ms, font-size 1000ms;
  -ms-transition: opacity 500ms, font-size 1000ms;
  -o-transition: opacity 500ms, font-size 1000ms;
  transition: opacity 500ms, font-size 1000ms;
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -ms-opacity: 1;
  -o-opacity: 1;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(100);
  filter: alpha(opacity= 100 );
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
  color: #fff;
  font-size: 3.5em;
  font-weight: 100;
  margin: .5em auto;
  text-align: center;
}
section h2._done {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -ms-opacity: 1;
  -o-opacity: 1;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(100);
  filter: alpha(opacity= 100 );
}
section.card {
  background-color: #45ba55;
  color: #fff;
  padding-top: 1.4375em;
  padding-bottom: 2.875em;
}
section.card address {
  color: inherit;
  font-style: normal;
  font-family: 'Lato';
  min-width: 300px;
  max-width: 600px;
  margin: auto;
}
section.card address .fn,
section.card address .email {
  font-size: 1.5em;
}
section.card address a:hover {
  color: #45ba55;
}
section.card address .adr {
  display: none;
}
section.card address .table {
  width: 100%;
  table-layout: fixed;
}
section.card address .table .cell {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
}
section.card address .table .cell:first-child {
  text-align: right;
}
section.card address .table .cell:last-child {
  padding-left: 1em;
}
section.portfolio {
  background-color: #465075;
}
