/*
Theme Name: Mstoic Portfolio Theme
Theme URI: http://underscores.me/
Author: Automattic
Author URI: http://automattic.com/
Description: Hi. I'm a starter theme called <code>Mstoic Portfolio Theme</code>. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Mstoic Portfolio Theme
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Mstoic Portfolio Theme is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
    ## Posts and pages
	## Asides
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #404040;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}
p {
  margin-bottom: 1.5em;
}
dfn,
cite,
em,
i {
  font-style: italic;
}
blockquote {
  margin: 0 1.5em;
}
address {
  margin: 0 0 1.5em;
}
pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}
abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}
big {
  font-size: 125%;
}
/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}
body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}
blockquote,
q {
  quotes: "" "";
}
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}
ul,
ol {
  margin: 0 0 1.5em 3em;
}
ul {
  list-style: disc;
}
ol {
  list-style: decimal;
}
li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0 1.5em 1.5em;
}
img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}
table {
  margin: 0 0 1.5em;
  width: 100%;
}
/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
/*button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  /!*box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);*!/
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: .6em 1em .4em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
  /!*box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);*!/
}
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  border-color: #aaa #bbb #bbb;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
  color: #111;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"] {
  padding: 3px;
}
textarea {
  padding-left: 3px;
  width: 100%;
}*/
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: royalblue;
}
a:visited {
  color: purple;
}
a:hover,
a:focus,
a:active {
  color: midnightblue;
}
a:focus {
  outline: thin dotted;
}
a:hover,
a:active {
  outline: 0;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: left;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation li {
  float: left;
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 1.5em;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}
@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: block;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
}
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}
/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
}
/* Make sure select elements fit in widgets. */
.widget select {
  max-width: 100%;
}
/* Search widget. */
.widget_search .search-submit {
  display: none;
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}
.hentry {
  margin: 0 0 1.5em;
}
.byline,
.updated:not(.published) {
  display: none;
}
.single .byline,
.group-blog .byline {
  display: inline;
}
.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}
.page-links {
  clear: both;
  margin: 0 0 1.5em;
}
/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}
.bypostauthor {
  display: block;
}
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}
/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}
/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}
/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
  display: block;
  margin: 0 auto;
}
.wp-caption-text {
  text-align: center;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}
/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}
.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
.gallery-caption {
  display: block;
}
/*--------------------------------------------------------------
## Portfolio Items
--------------------------------------------------------------*/
h1,
h3 {
  font-weight: 500;
}
h2,
h4 {
  margin: 0;
  font-weight: 400;
}
.center,
h3 {
  text-align: center;
}
.btn,
a {
  display: inline-block;
}
.btn,
.menu {
  position: relative;
  cursor: pointer;
}
.btn,
.link,
.menu {
  position: relative;
}
.btn,
.timeline span,
nav a {
  text-transform: uppercase;
}
body,
html {
  margin: 0;
  overflow-x: hidden;
  background: #E3E3E3;
  color: #8B8B8D;
  font: 500 16px/22px Roboto, Arial, sans-serif;
}
h3,
h4 {
  line-height: 46px;
}
body {
  padding: 200px 20px 0;
  margin-top: 200px;
  overflow-y: hidden;
}
a {
  text-decoration: none;
}
:focus {
  outline: 0;
}
::-moz-focus-inner {
  border: 0;
}
li,
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.btn,
nav .grid {
  padding: 0 20px;
}
h1 {
  font-size: 45px;
  line-height: 60px;
  color: #565656;
  margin: 0;
}
h2 {
  font-size: 18px;
  line-height: 30px;
}
h3 {
  font-size: 30px;
  margin: 50px 0;
}
h4 {
  font-size: 28px;
}
p {
  margin: 30px 0;
}
.grid {
  max-width: 1200px;
  margin: 0 auto;
}
.link {
  color: #72B7E1;
  border-bottom: 2px solid currentColor;
  margin-bottom: -2px;
  -webkit-transition: color 150ms;
  transition: color 150ms;
}
.link:active {
  top: 2px;
}
.link:hover {
  color: #c3c3c3;
}
.link.codepen {
  color: #050305;
}
.link.twitter {
  color: #55acee;
}
.link.facebook {
  color: #5973a8;
}
.btn {
  font: 500 16px/22px Roboto, Arial, sans-serif;
  line-height: 45px;
  color: #fff;
  border-radius: 4px;
  border: 0;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2);
}
.skills-box ul,
.top-bar,
nav a {
  font-size: 18px;
}
.btn:active {
  top: 2px;
  box-shadow: none;
}
.btn.blue {
  background: #00a8ff;
}
.btn.green {
  background: #38de8a;
}
.btn + .btn {
  margin-left: 15px;
}
.menu {
  float: left;
  left: 13px;
  top: 13px;
  width: 40px;
  height: 40px;
  background: 0 0;
  border: 0;
  padding: 0;
  margin: 0;
  opacity: .7;
  -webkit-transition: opacity 150ms;
  transition: opacity 150ms;
}
.hamburger::after,
.hamburger::before {
  content: '';
  background: #ffffff;
}
header,
nav {
  left: 0;
  right: 0;
}
.menu:hover {
  opacity: 1;
}
.menuHidden .menu {
  opacity: 0;
  pointer-events: none;
}
.hamburger,
.hamburger::after,
.hamburger::before {
  margin: 0 auto;
  display: block;
  width: 24px;
  height: 3px;
  line-height: 0;
  -webkit-transition: all 150ms;
  transition: all 150ms;
}
.hamburger::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.hamburger::after {
  -webkit-transform: rotate(-45deg) translate(2px, -2px);
  -ms-transform: rotate(-45deg) translate(2px, -2px);
  transform: rotate(-45deg) translate(2px, -2px);
}
.skype {
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
}
.skype p {
  margin: 0;
}
.skype p img {
  margin: 0!important;
  vertical-align: middle !important;
}
header {
  position: fixed;
  top: 0;
  z-index: 2;
}
.top-bar {
  text-align: right;
  font-weight: 300;
  line-height: 66px;
  height: 66px;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 1px;
  background: #0396E3;
  z-index: 1;
  position: relative;
}
.blue-box,
nav a,
nav a.active,
nav a:hover {
  color: #ffffff;
}
.hero,
.message,
footer.grid {
  text-align: center;
}
.skype,
.top-bar .mail {
  margin: 0 20px;
  color: #fff;
  opacity: .7;
  -webkit-transition: opacity 150ms;
  transition: opacity 150ms;
}
.skype:hover,
.top-bar .mail:hover {
  opacity: 1;
}
nav {
  z-index: 1;
  background: #00A8FF;
  position: fixed;
  top: 66px;
  padding: 50px 0 0;
  -webkit-transition: -webkit-transform 150ms;
  transition: transform 150ms;
  box-shadow: 0 2px 3px 2px rgba(0, 0, 0, 0.25);
}
.collapsed .hamburger,
.white-box {
  background: #ffffff;
}
nav a {
  line-height: 80px;
  margin: 0 50px 0 0;
  color: rgba(255, 255, 255, 0.7);
  -webkit-transition: all 150ms;
  transition: all 150ms;
}
nav a:last-child {
  margin-right: 0;
}
nav a.active,
nav a:active {
  box-shadow: inset 0 -2px 0 currentColor;
}
.collapsed .hamburger::after {
  -webkit-transform: translateY(5px);
  -ms-transform: translateY(5px);
  transform: translateY(5px);
}
.collapsed .hamburger::before {
  -webkit-transform: translateY(-8px);
  -ms-transform: translateY(-8px);
  transform: translateY(-8px);
}
.collapsed nav {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
.box {
  box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  padding: 90px 100px;
}
.blue-box {
  background: #00a8ff;
}
.hero {
  line-height: 30px;
  padding-top: 150px;
  position: relative;
}
.hero p {
  margin-bottom: 70px;
}
.hero .thumb {
  -webkit-transition: width 150ms, height 150ms;
  transition: width 150ms, height 150ms;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.hero.sticky .thumb,
body:not(.collapsed) header:not(.menuHidden) + .hero .thumb {
  box-shadow: 0 2px 3px 2px rgba(0, 0, 0, 0.25);
  position: fixed;
  top: 60px;
  width: 100px;
  height: 100px;
}
.timeline {
  position: relative;
}
.timeline .box::before,
.timeline::before {
  display: block;
  content: '';
  position: absolute;
  left: 50%;
}
.timeline::before {
  height: 100%;
  width: 2px;
  background: #B6B6B6;
  margin-left: -1px;
  box-shadow: inset 0 -100px 100px -30px #e3e3e3;
}
.timeline::after {
  content: '';
  display: block;
  clear: both;
}
.timeline .box {
  width: 45%;
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  float: left;
  clear: both;
}
.timeline .box::before {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #00A8FF;
  margin: -47px 0 0 -7px;
}
.timeline .box:nth-child(2n+2) {
  float: right;
}
.timeline strong {
  font-size: 18px;
  font-weight: 500;
  color: #555;
  display: block;
}
.card,
.field,
.skills-box .col {
  display: inline-block;
  box-sizing: border-box;
}
.timeline span {
  color: #72B7E1;
  font-weight: 300;
  line-height: 40px;
}
.timeline p {
  margin: 10px 0 0;
  font-weight: 400;
  line-height: 26px;
}
.skills-box .col {
  width: 50%;
  padding: 0 0 0 6%;
  vertical-align: top;
}
.skills-box ul {
  line-height: 40px;
  font-weight: 400;
  margin-top: 30px;
}
.card,
.cards {
  line-height: 0;
}
.skills-box .footnote {
  margin: 100px 0 0;
  font-weight: 300;
  font-size: 14px;
}
.cards {
  font-size: 0;
  margin: 0 0 -30px 0;
}
.card {
  padding: 0 15px 30px;
  margin: 0;
  width: 33.333333%;
  font-weight: 400;
  vertical-align: top;
}
.card .box {
  padding: 0;
  background: #fff;
  -webkit-transition: all 0.2s cubic-bezier(0.3, 0.6, 0.2, 1.8);
  transition: all 0.2s cubic-bezier(0.3, 0.6, 0.2, 1.8);
}
.card .box:hover {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  box-shadow: 0 2px 14px 5px rgba(0, 0, 0, 0.15);
}
.card img {
  width: 100%;
}
.card .summary {
  background: #F1DD1E;
  color: #fff;
  padding: 20px;
}
.card span {
  line-height: 20px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
}
.card.dark .summary {
  color: #000000;
}
.card.dark span {
  color: #454545;
}
.card p {
  padding: 20px;
  margin: 0;
  line-height: 26px;
  font-size: 16px;
  color: #8B8B8D;
}
.card p:empty {
  display: none;
}
.card:nth-of-type(7n+1) .summary {
  background: #5cbc90;
}
.card:nth-of-type(7n+2) .summary {
  background: #fe8d25;
}
.card:nth-of-type(7n+3) .summary {
  background: #179db4;
}
.card:nth-of-type(7n+4) .summary {
  background: #E14E42;
  color: #FFF;
}
.card:nth-of-type(7n+5) .summary {
  background: #910613;
  color: #FFF;
}
.card:nth-of-type(7n+6) .summary {
  background: #16A085;
  color: #FFF;
}
.card:nth-of-type(7n+7) .summary {
  background: #28261F;
  color: #FFF;
}
.contact {
  font-size: 0;
  line-height: 0;
}
.field {
  position: relative;
  width: 50%;
  margin-bottom: 50px;
  padding: 0 20px;
}
.field.field-textarea {
  width: 100%;
  padding: 0;
}
.field:nth-child(odd) {
  padding-left: 0;
}
.field:nth-child(even) {
  padding-right: 0;
}
.field input,
.field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #A8A8AA;
  box-shadow: inset 700px 0 0 0 #fff, 0 1px 0 #ECECEE;
  margin: 0;
  padding: 6px 0;
  font: 300 18px/28px Roboto, Arial, sans-serif;
}
.field textarea {
  height: 150px;
  resize: vertical;
}
.field input:focus,
.field textarea:focus {
  border-color: #18b1fd;
}
.field label {
  pointer-events: none;
  font-size: 18px;
  line-height: 20px;
  font-weight: 400;
  position: absolute;
  left: 0;
  transition: all 150ms;
}
#submitform,
.field label {
  -webkit-transition: all 150ms;
}
.field:nth-child(even) label {
  left: 20px;
}
.field input:focus + label,
.field textarea:focus + label,
.field.completed label {
  font-size: 12px;
  color: #34B2FF;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
}
.contact .btn {
  font-size: 16px;
  min-width: 50%;
  padding: 0;
  margin-top: 50px;
}
[required] + label:after {
  content: '*';
}
.field[data-isvalid=false] [required] + label:after {
  content: '';
}
.field[data-isvalid=true] label {
  color: #38de8a;
}
.field[data-isvalid=false] label {
  color: #E14E42;
  text-transform: lowercase;
}
.field[data-isvalid=false] label::before {
  content: 'Please provide your ';
  text-transform: none;
}
.field[data-isvalid=false] label[for=email]::before {
  content: 'Looks like an invalid ';
}
.field[data-isvalid=false] label[for=message]::before {
  content: 'You really should send me a ';
}
.field:not([data-isvalid=true]):not(.field_optional) ~ .center input {
  background: #e14e42;
}
.message {
  margin: 50px 0;
  font-size: 24px;
  line-height: 45px;
  font-weight: 300;
  display: none;
}
.message.shown {
  display: block;
}
.message_success {
  color: #38de8a;
}
.message_error {
  color: #e14e42;
}
#submitform {
  transition: all 150ms;
}
#submitform[disabled] {
  background: #eee;
  font-size: 0;
  border-radius: 50%;
  min-width: 45px;
  width: 45px;
  cursor: default;
  margin-left: auto;
  margin-right: auto;
  -webkit-animation: sendMail 750ms infinite alternate ease-in-out;
  animation: sendMail 750ms infinite alternate ease-in-out;
}
@-webkit-keyframes sendMail {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  100% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
  }
}
@keyframes sendMail {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  100% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
  }
}
footer.grid {
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 32px;
}
html.small-nav nav,
html.small-nav nav a.active,
html.small-nav nav a:active {
  box-shadow: none;
}
html.small-nav nav {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  bottom: 0;
  top: 16px;
  z-index: 1;
}
html.small-nav .collapsed nav {
  -webkit-transform: translate(-100%, 0);
  -ms-transform: translate(-100%, 0);
  transform: translate(-100%, 0);
  -webkit-transition: .2s all;
  transition: .2s all;
}
html.small-nav nav a {
  text-align: center;
  margin: 0;
  display: block;
}
@media (max-width: 900px) {
  .hero .thumb,
  header {
    box-shadow: 0 2px 3px 2px rgba(0, 0, 0, 0.25);
  }
  .mail,
  body:not(.collapsed) .thumb {
    display: none;
  }
  .card {
    width: 50%;
  }
  .skills-box .col {
    width: 100%;
    text-align: center;
    padding: 0;
  }
  .skills-box .col ul {
    margin-top: 20px;
  }
  .skills-box .col:not(:first-child) h4 {
    border-top: 2px solid #fff;
    padding-top: 40px;
    margin-top: 40px;
  }
  body {
    margin-top: 0;
    padding-top: 140px;
  }
  .hero .thumb {
    position: fixed;
    top: 60px;
    width: 100px;
    height: 100px;
  }
  .box.hero {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  h3:not(#experience) {
    margin-bottom: 20px;
  }
  .field {
    width: 100%;
    padding: 0;
  }
  .field:nth-child(even) label {
    left: 0;
  }
}
@media (max-width: 750px) {
  body {
    padding-left: 10px;
    padding-right: 10px;
  }
  .menu {
    left: 3px;
  }
  .skype {
    margin-right: 10px;
  }
  .timeline .box {
    width: 100%;
    position: relative;
    margin-bottom: 40px;
  }
  .timeline .box:last-child {
    margin-bottom: 0;
  }
  .hero p {
    margin-bottom: 20px;
  }
  .skills-box .footnote {
    margin-top: 40px;
  }
  .contact .btn {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .card {
    width: 100%;
  }
  .box,
  .timeline .box {
    padding: 20px;
  }
  .timeline::before {
    margin-top: -15px;
  }
  form.box {
    padding-top: 40px;
  }
  .contact .btn,
  .message {
    margin-top: 0;
  }
  .timeline strong {
    margin-bottom: 20px;
  }
}
@media (max-width: 420px) {
  .btn {
    display: block;
    text-align: center;
  }
  .btn + .btn {
    margin: 20px 0 0;
  }
}
