/*  font
============================================================= */
@font-face {
  font-family: 'fontello';
  src: url("../font/fontello.eot");
  src: url("../font/fontello.eot?#iefix") format("embedded-opentype"), url("../font/fontello.woff") format("woff"), url("../font/fontello.ttf") format("truetype"), url("../font/fontello.svg#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin: 0 12px;
  text-align: center;
  line-height: 1em;
}

.icon-info:before {
  content: '\67';
}

.icon-cog:before {
  content: '\6d';
}

.icon-cog-alt:before {
  content: '\73';
}

.icon-mail:before {
  content: '\62';
}

.icon-check:before {
  content: '\65';
}

.icon-cancel-circled:before {
  content: '\66';
}

.icon-info-circled:before {
  content: '\68';
}

.icon-address:before {
  content: '\6a';
}

.icon-location:before {
  content: '\6b';
}

.icon-map:before {
  content: '\76';
}

.icon-docs:before {
  content: '\6c';
}

.icon-paper-plane:before {
  content: '\6e';
}

.icon-github-circled:before {
  content: '\31';
}

.icon-flickr-circled:before {
  content: '\32';
}

.icon-vimeo-circled:before {
  content: '\33';
}

.icon-twitter-circled:before {
  content: '\34';
}

.icon-facebook-circled:before {
  content: '\35';
}

.icon-gplus-circled:before {
  content: '\36';
}

.icon-pinterest-circled:before {
  content: '\37';
}

.icon-tumblr-circled:before {
  content: '\38';
}

.icon-linkedin-circled:before {
  content: '\39';
}

.icon-dribbble-circled:before {
  content: '\30';
}

.icon-stumbleupon-circled:before {
  content: '\41';
}

.icon-lastfm-circled:before {
  content: '\42';
}

.icon-rdio-circled:before {
  content: '\43';
}

.icon-spotify-circled:before {
  content: '\44';
}

.icon-instagram:before {
  content: '\45';
}

.icon-flattr:before {
  content: '\46';
}

.icon-soundcloud:before {
  content: '\55';
}

.icon-picture:before {
  content: '\64';
}

.icon-globe:before {
  content: '\75';
}

.icon-graduation-cap:before {
  content: '\70';
}

.icon-user:before {
  content: '\63';
}

.icon-briefcase:before {
  content: '\74';
}

.icon-megaphone:before {
  content: '\71';
}

.icon-search:before {
  content: '\61';
}

.icon-link:before {
  content: '\69';
}

.icon-rocket:before {
  content: '\72';
}

/*  general settings
============================================================= */
body {
  position: relative;
  margin: 0;
  padding: 0;
  background: white;
  background: url("../images/pattern/light_1.png");
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 24px;
  color: #282828;
}

@media only screen and (-moz-min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
  body {
    background: url("../images/pattern/light_1_@2X.png");
    background-size: 46px 23px;
  }
}
div, section, article, header, footer, aside, time, nav, figure, img, blockquote,
table, tbody, tr, td, textarea, input, ul, li {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  display: block;
  max-width: 100%;
}

h1 {
  font-size: 26px;
  line-height: 36px;
}

h2 {
  font-size: 22px;
  line-height: 36px;
}

h3 {
  font-size: 18px;
  line-height: 24px;
}

h4 {
  font-size: 16px;
  line-height: 24px;
}

h5 {
  font-size: 14px;
  line-height: 24px;
}

h6 {
  font-size: 12px;
  line-height: 12px;
}

p {
  margin: 0 0 12px 0;
}

/*  frontpage
============================================================= */
.content {
  position: relative;
  left: 50%;
  overflow: hidden;
  width: 800px;
  margin: 72px 0 72px -400px;
  padding: 48px 0 0 0;
  background: #fafafa;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}

.site-title {
  margin: 0 0 24px -48px;
  padding: 30px 0 30px 48px;
  background: #e6e6e6;
  background: url("../images/site_title_bg.png"), -webkit-linear-gradient(left, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
  background: url("../images/site_title_bg.png"), -moz-linear-gradient(left, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
  background: url("../images/site_title_bg.png"), -o-linear-gradient(left, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
  background: url("../images/site_title_bg.png"), -ms-linear-gradient(left, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
  background: url("../images/site_title_bg.png"), linear-gradient(left, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
  background-position: bottom right;
  background-size: auto;
  background-repeat: no-repeat;
  border-left: 5px solid #2873c8;
  font-weight: 700;
  letter-spacing: -0.03em;
  text-shadow: 1px 1px 0 white;
}

.site-title h1 {
  line-height: 26px;
}

.site-title h2 {
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  line-height: 14px;
}

.site-title h1,
.site-title h2 {
  display: block;
  margin: 0;
  padding: 0;
}

.sub-title {
  margin: 0 0 24px 0;
  padding: 6px 0;
  background: #e6e6e6;
  background: rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid #2873c8;
  letter-spacing: -0.03em;
}

.sub-sub-title {
  position: relative;
  margin: 0 0 18px 0;
  padding: 6px 24px 6px 6px;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  background: white;
  background: rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid #2873c8;
  text-align: right;
}

.sub-sub-title [class^="icon-"],
.sub-sub-title [class*="icon-"] {
  position: absolute;
  left: 0;
}

.sub-sub-title [class^="icon-"]:before,
.sub-sub-title [class*="icon-"]:before {
  text-shadow: 0 -1px 0 white;
}

.sub-sub-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-left-width: 0.4em;
  border-left-color: transparent;
  border-left-style: solid;
  border-bottom: 0.4em solid #2873c8;
}

.avatar {
  display: inline-block;
  max-width: 75%;
  border: 6px solid white;
  margin: 24px 0 48px 0;
  vertical-align: middle;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  -webkit-transform: rotate(1deg);
  -moz-transform: rotate(1deg);
  -o-transform: rotate(1deg);
  -ms-transform: rotate(1deg);
  transform: rotate(1deg);
}

.personal-facts {
  margin: 24px 0;
  list-style-type: none;
}

.personal-facts li {
  padding: 0;
  margin: 6px 0;
}

.personal-facts li:first-child {
  margin: 0;
}

.personal-facts li:last-child {
  margin: 0;
}

.personal-facts span {
  display: inline-block;
}

.personal-facts span:nth-child(1) {
  position: relative;
  background: #2873c8;
  background: -webkit-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -moz-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -o-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -ms-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: linear-gradient(bottom, #2873c8, #2f7dd5);
  padding: 0 6px;
  color: #fafafa;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}

.personal-facts span:nth-child(1):after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-left-width: 0.4em;
  border-left-color: transparent;
  border-left-style: solid;
  border-bottom: 0.4em solid #fafafa;
}

.personal-facts span:nth-child(2) {
  margin: 0 0 0 6px;
}

.quote {
  position: relative;
  left: 15%;
  width: 70%;
  margin: 0 0 48px 0;
  padding: 30px;
  background: #e6e6e6;
  background: rgba(0, 0, 0, 0.035);
  background-image: url("../images/icon_quote_alt.png");
  background-repeat: no-repeat;
  background-position: 98% 20%;
  border-left: 2px solid #2873c8;
  -webkit-box-shadow: 3px 3px 2px -3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 3px 3px 2px -3px rgba(0, 0, 0, 0.3);
  box-shadow: 3px 3px 2px -3px rgba(0, 0, 0, 0.3);
  font-style: italic;
  text-align: center;
}

.quote .author {
  position: absolute;
  bottom: 6px;
  right: 12px;
  font-size: 12px;
  color: #818181;
}

.quote .author:before {
  content: '- ';
}

.social-media {
  padding: 0;
  list-style-type: none;
}

.social-media li {
  display: inline-block;
  margin: 0 6px;
  padding: 0;
  font-size: 2em;
}

.social-media li:first-child {
  margin: 0 6px 0 0;
}

.social-media li [class^="icon-"]:before,
.social-media li [class*="icon-"]:before {
  margin: 0;
}

.social-media li > a {
  color: #282828;
  text-decoration: none;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  -ms-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.social-media li:hover > a {
  cursor: pointer;
  color: #2873c8;
}

/*  navigation
============================================================= */
nav {
  width: 100%;
  margin: 48px 0;
}

.navigation {
  overflow: hidden;
  padding: 0;
  margin: 0;
  width: 100%;
  list-style-type: none;
  font-weight: 600;
}

.navigation li {
  padding: 24px 0;
  margin: 0;
  float: left;
  display: inline-block;
  width: 25%;
  background: #e6e6e6;
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  background: linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0);
  text-align: center;
  text-shadow: 0 1px 0 white;
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -ms-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

.navigation li:hover {
  cursor: pointer;
  -webkit-box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1), inset 0 -1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1), inset 0 -1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1), inset 0 -1px 2px rgba(0, 0, 0, 0.1);
}

.navigation li [class^="icon-"]:before,
.navigation li [class*=" icon-"]:before {
  margin: 0 0.5em 0 0em;
}

.navigation li:last-child {
  border-right: 0;
}

.tabs {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.tabs > li {
  margin: 0;
  padding: 0;
}

.tab-portfolio,
.tab-contact,
.tab-features {
  display: none;
}

/*  education
============================================================= */
.education,
.employment {
  list-style-type: none;
  margin: 0 0 24px 0;
  padding: 0;
}

.education:after,
.employment:after {
  content: '.';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.education li,
.employment li {
  float: right;
  position: relative;
  width: 90%;
  margin: 0 0 24px 0;
  padding: 0 0 0 12px;
  border-left: 1px solid #2873c8;
}

.education li:after,
.employment li:after {
  position: absolute;
  top: 50%;
  right: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  pointer-events: none;
  border-right-color: #2873c8;
  border-width: 5px;
  margin-top: -5px;
}

.education .time,
.employment .time {
	position: absolute;
	top: 2px;
	right: -31px;
	font-size: 12px;
	font-style: italic;
	color: #818181;
	height: 31px;
	width: 109px;
}

.education .station,
.employment .station {
  font-weight: 700;
}

.education .position,
.employment .position {
  font-size: 12px;
}

.education .position-desc,
.employment .position-desc {
  font-size: 12px;
  line-height: 18px;
  color: #818181;
}

/*  skillset
============================================================= */
.skill-description {
  margin: 0 0 12px 0;
}

.skillset {
  width: 100%;
  margin: 0 0 48px 0;
  padding: 0;
  border-collapse: collapse;
}

.skillset tbody {
  margin: 0;
  padding: 0;
}

.skillset tr {
  margin: 0;
  padding: 0 0 24px 0;
}

.skillset td {
  padding: 0 0 12px 0;
  border-spacing: 0;
}

.skill-desc {
  width: 25%;
}

.skill-value {
  width: 75%;
}

.skillset .outer-bar {
  width: 100%;
  height: 24px;
  background: white;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
}

.skillset .inner-bar {
  display: inline-block;
  height: 100%;
  background: #2873c8;
  background: -webkit-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -moz-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -o-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: -ms-linear-gradient(bottom, #2873c8, #2f7dd5);
  background: linear-gradient(bottom, #2873c8, #2f7dd5);
}

/*  portfolio
============================================================= */
.portfolio-selector {
  position: relative;
  margin: 24px 0;
  padding: 0;
  list-style-type: none;
  font-size: 12px;
}

.portfolio-selector:before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(40, 115, 200, 0.5);
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
}

.portfolio-selector:after {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  height: 100%;
  width: 1px;
  background: rgba(40, 115, 200, 0.5);
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
}

.portfolio-selector li {
  position: relative;
  bottom: 0px;
  display: inline-block;
  margin: 0 6px;
  padding: 0 12px 0 12px;
  background: #2873c8;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  color: #fafafa;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.65);
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  -ms-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.portfolio-selector li:hover {
  bottom: 2px;
}

.portfolio-selector li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-right-width: 0.4em;
  border-right-color: transparent;
  border-right-style: solid;
  border-top: 0.4em solid #fafafa;
}

.portfolio-selector li:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-left-width: 0.4em;
  border-left-color: transparent;
  border-left-style: solid;
  border-bottom: 0.4em solid #fafafa;
}

.portfolio-selector li:first-child {
  margin: 0 6px 0 12px;
}

.portfolio-selector li a {
  color: #fafafa;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.65);
  text-decoration: none;
}

.img-portfolio-wrapper {
  position: relative;
  margin: 21px;
}

.fancybox {
  display: block;
  position: relative;
  text-decoration: none;
  outline: none;
}

.mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.35);
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.35);
  text-align: center;
  opacity: 0;
  font-size: 1.75em;
  color: white;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.75);
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mask:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.mask:hover {
  opacity: 1;
}

.mask [class^="icon-"]:before,
.mask [class*=" icon-"]:before {
  vertical-align: middle;
}

.img-portfolio {
  min-height: 120px;
  max-height: 120px;
  outline: none;
  border: 0;
}

.img-portfolio:hover {
  cursor: pointer;
}

.img-portfolio-title {
  position: relative;
  background: #e6e6e6;
  background: -webkit-linear-gradient(top, #e6e6e6, #d1d1d1);
  background: -moz-linear-gradient(top, #e6e6e6, #d1d1d1);
  background: -o-linear-gradient(top, #e6e6e6, #d1d1d1);
  background: -ms-linear-gradient(top, #e6e6e6, #d1d1d1);
  background: linear-gradient(top, #e6e6e6, #d1d1d1);
  padding: 12px 0;
  color: #444444;
  font-weight: 600;
  font-style: italic;
  text-align: center;
}

.img-portfolio-title:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  height: 0;
  width: 0;
  margin-left: -6px;
  border: solid transparent;
  border-bottom-color: #e6e6e6;
  border-bottom-color: #e6e6e6;
  border-width: 6px;
  content: " ";
  pointer-events: none;
}

.img-portfolio-title .subtitle {
  display: block;
  font-size: 11px;
  line-height: 12px;
  font-style: italic;
  font-weight: 300;
  text-shadow: 0 1px 0 white;
}

/**** Isotope Filtering ****/
.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -ms-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
  -moz-transition-property: height, width;
  -ms-transition-property: height, width;
  -o-transition-property: height, width;
  transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
}

/*  contact
============================================================= */
.contact-form {
  margin: 24px 0 0 0;
}

.google-maps {
  height: 312px;
  margin: 0 0 24px 0;
}

.contact-form label {
  display: block;
  height: 24px;
}

.contact-form .notification {
  display: none;
  padding: 6px 6px 6px 0;
}

.contact-form .error {
  background: red;
  background: rgba(255, 0, 0, 0.1);
  border: 1px solid red;
  border: 1px solid rgba(255, 0, 0, 0.35);
  color: #fff;
  color: rgba(255, 0, 0, 0.65);
}

.contact-form .red-border {
  -webkit-box-shadow: inset 0 0 2px red;
  -moz-box-shadow: inset 0 0 2px red;
  box-shadow: inset 0 0 2px red;
}

.contact-form .success {
  background: green;
  background: rgba(0, 128, 0, 0.1);
  border: green;
  border: 1px solid rgba(0, 128, 0, 0.35);
  color: #fff;
  color: rgba(0, 128, 0, 0.65);
}

input[name=contact-name],
input[name=contact-email],
textarea[name=contact-message] {
  border-width: 0px;
  border-radius: 4px;
  margin: 0 0 12px 0;
  padding: 6px;
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.4);
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #4b4b4b;
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -ms-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

input[name=contact-name]:focus,
input[name=contact-email]:focus,
textarea[name=contact-message]:focus {
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), inset 0 0 1px #2873c8, 0 0 2px #2873c8;
  -moz-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), inset 0 0 1px #2873c8, 0 0 2px #2873c8;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), inset 0 0 1px #2873c8, 0 0 2px #2873c8;
  outline: none;
}

input[name=contact-name],
input[name=contact-email] {
  width: 50%;
  height: 36px;
}

textarea[name=contact-message] {
  width: 100%;
  height: 180px;
}

button[name=contact-submit] {
  position: relative;
  display: inline-block;
  padding: 6px 48px;
  background: #2873c8;
  border: 1px solid rgba(40, 115, 200, 0.75);
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.25);
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #fafafa;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.65);
}

button[name=contact-submit]:hover {
  top: 1px;
  cursor: pointer;
}

button[name=contact-submit] [class^="icon-"]:before,
button[name=contact-submit] [class*=" icon-"]:before {
  margin: 0;
}

.contact-info {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 12px;
  line-height: 18px;
  font-style: italic;
}

.contact-list li {
  margin: 0;
  padding: 0;
}

/*  additional
============================================================= */
.inline-highlight {
  color: #2873c8;
}

hr {
  display: block;
  width: 90%;
  margin: 24px auto;
  border: 0px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.35);
  -webkit-box-shadow: 0 1px 0 white;
  -moz-box-shadow: 0 1px 0 white;
  box-shadow: 0 1px 0 white;
}

.small-font {
  font-size: 12px;
  line-height: 18px;
}

.underline {
  border-bottom: 1px solid #2873c8;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

/*  grid
============================================================= */
.column {
  padding: 0 48px;
}

.column:after {
  content: '.';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.g-1 {
  width: 100%;
}

.g-2 {
  float: left;
  width: 50%;
  padding: 0 24px;
}

.g-1-3 {
  float: left;
  width: 33.33%;
  padding: 0 24px;
}

.g-2-3 {
  float: left;
  width: 66.66%;
  padding: 0 24px;
}

.g-3 {
  float: left;
  width: 33.33%;
  padding: 0 24px;
}

.g-l {
  padding: 0 24px 0 0;
}

.g-r {
  padding: 0 0 0 24px;
}

.align-center {
  text-align: center;
  padding: 0;
}

.align-center:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

/*  fancybox
============================================================= */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020;
}

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.fancybox-opened {
  z-index: 8030;
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
  position: relative;
}

.fancybox-inner {
  overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("../images/fancybox/fancybox_sprite.png");
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060;
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../images/fancybox/fancybox_loading.gif") center center no-repeat;
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040;
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("../images/fancybox/blank.gif");
  /* helps IE */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 8040;
}

.fancybox-prev {
  left: 0;
}

.fancybox-next {
  right: 0;
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden;
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}

.fancybox-nav:hover span {
  visibility: visible;
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}

/* Overlay helper */
.fancybox-lock {
  overflow: hidden;
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url("../images/fancybox/fancybox_overlay.png");
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}

/* Title helper */
.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050;
}

.fancybox-opened .fancybox-title {
  visibility: visible;
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center;
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}

.fancybox-title-inside-wrap {
  padding-top: 10px;
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8);
}

/*  media queries
============================================================= */
@media screen and (max-width: 820px) {
  /*  general
  =================================== */
  .content {
    position: static;
    width: 100%;
    margin: 0;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
  }

  .site-title {
    margin: 0 0 16px -24px;
  }

  /*  grid
  =================================== */
  .column {
    padding: 0 24px;
  }

  .column:after {
    content: '.';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }

  .g-1 {
    width: 100%;
  }

  .g-2 {
    float: left;
    width: 50%;
    padding: 0 12px;
  }

  .g-1-3 {
    float: left;
    width: 33.33%;
    padding: 0 12px;
  }

  .g-2-3 {
    float: left;
    width: 66.66%;
    padding: 0 12px;
  }

  .g-3 {
    float: left;
    width: 33.33%;
    padding: 0 12px;
  }

  .g-l {
    padding: 0 12px 0 0;
  }

  .g-r {
    padding: 0 0 0 12px;
  }
}
@media screen and (max-width: 600px) {
  /*  general
  =================================== */
  .avatar {
    max-width: 45%;
  }

  /*  contact form
  =================================== */
  .contact-form {
    margin: 16px 0 32px 0;
  }

  /*  grid
  =================================== */
  /* Settings for special grid behaviour */
  .no-float {
    float: none;
    padding: 0;
  }

  .full-width {
    width: 100%;
  }
}
