html {
  scroll-behavior: smooth;
}

body, html {
	height: 100vh;
}

body {
	margin: 0px;
	padding: 0px;
	/*font-family: -apple-system, system-ui, BlinkMacSystemFont, \'Segoe UI\', \'Roboto\', \'Ubuntu\', \'Helvetica Neue\', sans-serif;*/
	font-family: 'Open Sans', sans-serif;
	color: white;
	background-color: #161616;
	overflow-y: scroll;
	overflow-x: hidden;
}

a {
	color: #4286f4;
}

img {
	-webkit-user-select:none;
	-khtml-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	-o-user-select:none;
	user-select:none;

	-webkit-user-drag:none;
	-khtml-user-drag:none;
	-moz-user-drag:none;
	-ms-user-drag:none;
	-o-user-drag:none;
	user-drag: none; 
}

iframe {
	border: none;
}

/* @loading */

#loading {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100vh;
	background-color: white;
	z-index: 1000;
}

/* @button */

section .wrapper > a > button {
	outline: none;
	border: 1px solid white;
	background: none;
	padding: 10px 30px;
	border-radius: 1000px;
	color: white;
	cursor: pointer;
	transition: all ease .2s;
}

section .wrapper > a > button:hover {
	background-color: white;
	color: #161616;
}

section.light .wrapper > a > button {
	border: 1px solid black;
	color: black;
}

section.light .wrapper > a > button:hover {
	background-color: black;
	color: white;
}

/* @header */

section:not(#article) h2 {
	position: relative;
	font-family: 'Open Sans', sans-serif;
	font-weight: 100;
	font-size: 2em;
	height: 2em;
}

section:not(.light) h2 {
	text-shadow: 0px 0px 10px white;
}


h2 > span {
	--width: 100px;
	position: absolute;
	bottom: 0px;
	left: calc(50% - var(--width)/2);
	width: var(--width);
	height: 2px;
	background-color: #555;
}

section.light h2 > span {
	background-color: #ccc;
}

h2 + p {
	padding-bottom: 40px;
}

h3 {
	font-family: brandon-grotesque,HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
}

/* @nav */

ul.nav {
	--color-1: white;
	--color-2: rgba(255, 255, 255, 0.1);

	position: absolute;
	width: calc(100% - 100px);
	z-index: 10;
	font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-bottom: 2px solid var(--color-2);
    margin: 0px 50px;
}

ul.nav > li:first-child {
    float: left;
}

ul.nav li {
    float: right;
    position: relative;
    z-index: 2;
}

ul.nav li a {
    display: block;
    color: var(--color-1);
    text-align: center;
    padding: 24px 16px;
    margin: 0px 10px;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    opacity: 1;
    transition: all .2s;
}

ul.nav li a:hover {
	opacity: 0.5;
}

ul.nav li a.active {
	font-weight: bold;
	border-bottom: 2px solid var(--color-1);
}

ul.nav div.backarea {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100px;
	background-color: transparent;
}

.mobile {
	display: none;
}

/* @navigation */

.navigation {
	position: relative;

	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.navigation .morph-dropdown {
	position: absolute;
	top: 68px;
	left: 0px;
	perspective: 250px;
	transition: all .3s; /*perspective-origin .3s;*/

	opacity: 0;
	z-index: 1;
}

.navigation .morph-dropdown.active {
	z-index: 1000;
	opacity: 1;
}

.navigation .morph-dropdown .background {
	position: absolute;
	width: 100px;
	height: 100px;
	background-color: white;
	border-radius: 4px;
	overflow: hidden;
	transition: all .3s; /*transform .5s, width .5s, height .5s;*/
	transform-origin: center top;
	/*box-shadow: 0 50px 100px -20px rgba(50, 50, 93, .25), 0 30px 60px -30px rgba(0, 0, 0, .3);*/
	box-shadow: 0 50px 100px -20px rgba(50, 50, 93, .25), 0 30px 60px -30px rgba(0, 0, 0, .3);
}

.navigation .morph-dropdown.new, .navigation .morph-dropdown.new .background, .navigation .morph-dropdown.new .arrow {
	transition: all 0s;
}

.navigation .morph-dropdown .arrow {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background-color: white;
	transform: rotate(45deg);
	transition: all .3s;
	z-index: 101;
}

.navigation .dropdown {
	position: absolute;
	display: inline-block;
	transition: opacity .3s;
	/*
	transition-property: opacity, visibility;
	transition-duration: .3s, 0s;
	transition-delay: 0s, .3s;
	*/
}

.navigation .dropdown.active {
	opacity: 1;
	z-index: 100;
}

.navigation .dropdown:not(.active) {
	opacity: 0;
	z-index: 0;
}

.navigation .dropdown .content, .navigation .mobile-dropdown .content {
	position: relative;
	white-space: nowrap;
	color: rgb(107, 124, 147);
	font-size: 10px;
	background-color: white;
	border-radius: 4px;
}

.navigation .dropdown .content a {
	color: inherit;
	display: block;
	text-decoration: none;
}

.navigation .dropdown .content .body, .navigation .mobile-dropdown .content {
	padding: 20px 35px;
}

.navigation .dropdown .content .footer {
	position: relative;
	padding: 20px 35px;
	background-color: #F6F9FC;
}

.navigation .dropdown .content .footer::after {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	height: 3000px;
	width: 3000px;
	background-color: #F6F9FC;
	z-index: -1;
}

.navigation .dropdown .content .footer .row {
	justify-content: center;
}

.navigation .dropdown .content .footer .row div.icon {
	box-shadow: none;
}

.navigation .dropdown .content .footer .row span.title {
	text-shadow: none;
}

.navigation .dropdown .content .row {
	display: flex;
	align-items: center;
	height: 20px;
	cursor: pointer;
}

.navigation .dropdown .content .row:not(:first-child) {
	margin-top: 10px;
}

.navigation .dropdown .content .sub-row {
	margin-left: 30px;
	cursor: pointer;
	max-width: 300px;
	white-space: pre-wrap;
}

.navigation .dropdown .content .sub-row:not(:first-child) {
	margin-top: 5px;
}

.navigation .dropdown .content .sub-row:last-child {
	margin-bottom: 10px;
}

.navigation .dropdown .content .sub-row svg {
	color: var(--color);
}

.navigation .dropdown .content .sub-row:not(div):hover {
	color: black;
}

.navigation .dropdown .content .sub-row:hover svg {
	color: black;
}

.navigation .dropdown .content span.title {
	font-weight: bold;
	letter-spacing: 0.4px;
	font-size: 11px;
	margin: 0px 1em;
	font-family: 'Source Sans Pro', sans-serif;
	color: var(--color);
	/*text-shadow: 0px 0px 10px var(--color);*/
	transition: all .2s;
}

.navigation .dropdown .content .row div.icon {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	font-family: 'Major Mono Display', monospace;
	background-color: var(--color);
	/*box-shadow: 0px 0px 10px var(--color);*/
	transition: all .2s;
}

.navigation .content .row svg.svg-inline--fa {
	position: relative;
	left: 50%;
  	top: 50%;
	color: white;
	transform: translate(-50%, -50%);
}

.navigation .dropdown .content .row:hover span {
	color: #323232;
	text-shadow: 0px 0px 10px transparent;
}

.navigation .dropdown .content .row:hover div.icon {
	background-color: #323232;
	box-shadow: 0px 0px 10px transparent;
}

/* @mobile.navigation */

.navigation .mobile-dropdown {
	position: absolute;
	z-index: 100;
	top: 68px;
	left: 0px;
	margin: 0px 50px;
	width: calc(100vw - 100px);
	color: black;
	border-radius: 4px;
	background-color: white;

	box-shadow: 0 50px 100px -20px rgba(50, 50, 93, .25), 0 30px 60px -30px rgba(0, 0, 0, .3), 0px -10px 50px -5px rgba(50, 50, 93, .15);
}

.navigation .mobile-dropdown::after {
	content: '';
	position: absolute;
	top: -5px;
	left: calc(100% - 54px);
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background-color: white;
	transform: rotate(45deg);
	transition: all .3s;
	z-index: 101;
}

.navigation .mobile-dropdown .content .row svg.svg-inline--fa {
	transform: translate(-50%, calc(-2px + -50%));
}

.navigation .mobile-dropdown .content a.row div.icon {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background-color: var(--color);
	box-shadow: 0px 0px 10px transparent;
	transition: all .2s;
}

.navigation .mobile-dropdown .content a.row:not(:first-child) {
	margin-top: 10px;
}

.navigation .mobile-dropdown .content a.row {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: black;
	height: 20px;
}

.navigation.mobile-active ul.nav {
	border-color: rgba(0, 0, 0, .25)
}

.navigation.mobile-active ul.nav li a {
	color: black !important;
}

.navigation .mobile-dropdown .content a.row:hover {
	--color: #4286f4;
}

.navigation .mobile-dropdown .content a.row:hover span.title {
	text-shadow: 0px 0px 10px var(--color);
}

.navigation .mobile-dropdown .content a.row:hover div.icon {
	box-shadow: 0px 0px 10px var(--color);
}

.navigation .mobile-dropdown .content span.title {
	font-weight: bold;
	letter-spacing: 0.4px;
	font-size: 11px;
	margin-left: 1em;
	color: var(--color);
	transition: all .2s;
}

.navigation .mobile-dropdown:not(.active) {
	display: none;
}

/* @section */

section {
	display: block;
	position: relative;
}

section.light {
	color: black;
	background-color: white;
}

section > .wrapper {
	position: relative;
	width: 860px;
	margin: 0 auto;
	padding: 80px 40px;
}

section > .wrapper.center {
	text-align: center;
}

section > .wrapper.center > p {
	/*margin: 0px 250px;*/
    margin: 0px auto;
    max-width: 360px;
}

article {
	margin: 0 auto;
    max-width: 460px;
}

div.break {
	position: relative;
	height: 1px;
	background-color: rgba(255, 255, 255, .1);
}

/* @skills */

.skill {
	padding: 20px 0px;
}

.skill > div {
	display: flex;
	flex-direction: row;
	max-width: 600px;
}

.skill > div > .svg-inline--fa {
	padding: 20px;
	border-radius: 100%;
	background-color: white;
	color: #323232;
}

.skill.right > div {
	margin-left: auto;
	margin-right: 0;
}

.skill.left > div > .svg-inline--fa {
	margin-right: 20px;
}

.skill.right > div > .svg-inline--fa {
	margin-left: 20px;
}

/* @communities */

#itch-io {
	background-color: #fa5c5c;
}

#discord {
	background-color: #7289da;
}

#github {
	background-color: #24292e;
}

#github button::before {
	content: "Contribute to open source projects";
}

.community {
	position: relative;
	display: flex;
	font-family: 'Lato';
	font-weight: 900;
	padding: 0px 30px;
	height: 163.667px;
	text-align: left;
	border-radius: 2px;
	color: white;
	box-shadow: 0px 5px 10px rgba(0,0,0,.1);
}

.community:not(:first-child) {
	margin-top: 20px;
}

.community button {
	outline: none;
	background-color: rgba(255, 255, 255, 0.2);
	padding: 10px 30px;
	border-radius: 1000px;
	color: white;
	border: none;
    cursor: pointer;
    transition: background-color ease .3s;
}

.community button:hover {
	background-color: rgba(255, 255, 255, 0.4);
}

.community button:active {
	background-color: rgba(255, 255, 255, 0.6);
}

.community .icon {
	display: block;
	position: relative;
	margin: 0 auto;
	padding-right: 50px;
}

.community > .content {
	flex: 1;
	margin: auto;
}

.community > .content > .title {
	font-size: 30px;
    font-weight: bolder;
}

/* @blog */

.blog {
	display: inline-flex;
	flex-direction: row;
	justify-content: left;
	flex-wrap: wrap;
	margin: 0 auto;
}


.blog .stretch {
	flex: 1;
}

.blog .article {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: 2px;
	background-color: white;
	color: black;
	width: 273px;
	margin-bottom: 20px;
	box-shadow: 0px 0px 10px rgba(0,0,0,.1), 0px 10px 20px rgba(0,0,0,.1);
}

.blog .article:not(:first-child):not(:nth-child(4n)) {
	margin-left: 20px;
}

.blog .article .image-container {
	position: relative;
	overflow: hidden;
	background-color: #3b4045;
	border-radius: 2px 2px 0px 0px;
}

.blog .article .image-container .image {
	transform: scale(1.0);
	border-radius: 2px 2px 0px 0px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 274px;
	height: 154px;
	transition: transform ease .5s;
}

.blog .article .image-container:hover > a {
	cursor: default;
}

.blog .article .image-container:hover > a > .image {
	transform: scale(1.5);
}

.blog .article .content {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-align: left;
	padding: 10px;
}

.blog .article .content div.spacer {
	flex: 1;
	min-height: 1em;
}

.blog .article .image-container i {
	position: absolute;
	transform: scale(0.0);
	top: 50px;
	left: 100px;
	font-size: 2em;
	z-index: 1;
	color: black;
	background-color: white; /*#3b4045*/
	padding: 10px;
	border-radius: 100%;
	box-shadow: 0px 0px 10px rgba(0,0,0,1);
	transition: opacity .5s, transform .5s;
	opacity: 0;
	cursor: pointer;
}

.blog .article .image-container:hover i {
	transform: scale(1.0);
	opacity: 1;
}

.blog .article .image-container:hover .image {
	opacity: 0.5;
}

.blog .article a:hover {
	color: #4286f4;
}

.blog .article h4 {
	font-size: 1.2em;
	margin: 0px;
}

.blog .article ul.meta, #article ul.meta {
	list-style-type: none;
	margin-bottom: 10px;
	padding: 0px;
	color: #b5b8bf;
	font-size: 0.75em;
}

.blog .article ul.meta li, #article ul.meta li {
	display: inline-block;
	margin-right: 10px;
}

.blog .article a.link {
	display: block;
	color: #4286f4;
	text-decoration: none;
}

.blog .article a.link:hover {
	text-decoration: underline;
}

.blog a.tag {
	--color: black;
	position: relative;
	display: inline-block;
	background-color: var(--color);
	color: white !important;
	text-decoration: none;
	border: 0px solid var(--color);
	font-size: .8em;
	padding: .05em 1em;
	padding-top: 0em;
	padding-bottom: .1em;
	border-radius: 1em;
	font-family: 'Open Sans', sans-serif;
	transition: all .2s;
	cursor: pointer;
	box-shadow: 0 0 10px transparent;
	text-shadow: 0 0 10px transparent;
}

.blog a.tag:hover {
	box-shadow: 0 0 10px var(--color);
	text-shadow: 0 0 10px white;
}

/* @footer */

section > .footer {
	position: relative;
	text-align: center;
	width: 860px;
	margin: 0 auto;
	padding: 20px 0px;
	/*padding: 80px 40px;*/
}

section#footer .social-media {
	-webkit-user-select: none; /* Safari 3.1+ */
  	-moz-user-select: none; /* Firefox 2+ */
  	-ms-user-select: none; /* IE 10+ */
  	user-select: none; /* Standard syntax */
}

section#footer .social-media .icon:not(:last-child) {
	margin-right: 5px;
}

section#footer .social-media .icon {
	display: inline-flex;
}

section#footer .nav {
	display: flex;
	justify-content: space-between;
	text-align: left;
	font-size: 14px;
	margin-bottom: 80px;
}

section#footer .nav a {
	display: block;
	text-decoration: none;
}

section#footer .nav a:hover {
	text-decoration: underline;
}

section#footer .nav .column {
	line-height: 20px;
}

section#footer .nav .column:not(:last-child) {
	margin-right: 0px;
}

section#footer .nav .column > .title {
	display: inline-block;
	position: relative;
	margin-bottom: 1em;
	color: white;
}

section#footer .nav .column > .row {
	color: #787878;
}

section#footer .nav .column > .sub-row {
	margin-left: 20px;
	color: #787878;
}

section#footer a.icon {
	display: inline-block;
	text-align: left;
	position: relative;
	width: 35px;
	height: 35px;
	border-radius: 100%;
	font-family: 'Major Mono Display', monospace;
	background-color: transparent;
	border: 2px solid #505050;
	transition: background .2s, border-color .2s;
}

section#footer a.icon:hover {
	background-color: #505050;
	border: 2px solid transparent;
}

section#footer a.icon.facebook:hover {
	background-color: #3B5998;
}

section#footer a.icon.twitter:hover {
	background-color: #55ACEE;
}

section#footer a.icon.youtube:hover {
	background-color: #bb0000;
}

section#footer a.icon.instagram:hover {
	background-clip: all;
	border: 0px solid transparent;
	padding: 2px;
	/*background-size: calc(100% + 4px) calc(100% + 5px);
	background-position: -3px -3px;*/
	background:
	    radial-gradient(circle farthest-corner at 35% 90%, #fec564, #fec56400 50%),
	    radial-gradient(circle farthest-corner at 0% 140%, #fec564, #fec56400 50%),

	    radial-gradient(ellipse farthest-corner at 0% -25%, #5258cf, #5258cf00 50%),
	    radial-gradient(ellipse farthest-corner at 20% -50%, #5258cf, #5258cf00 50%),

	    radial-gradient(ellipse farthest-corner at 100% 0%, #893dc2, #893dc200 50%),
	    radial-gradient(ellipse farthest-corner at 60% -20%, #893dc2, #893dc200 50%),

	    radial-gradient(ellipse farthest-corner at 100% 100%, #d9317a, #d9317a00),

	    linear-gradient(#6559ca, #bc318f 30%, #e33f5f 50%, #f77638 70%, #fec66d 100%);
}

section#footer svg.svg-inline--fa {
	position: relative;
	left: 50%;
  	top: 50%;
	color: white;
	transform: translate(-50%, -50%);
}

section#footer img.contact-arrow {
	position: absolute;
	width: 75px;
	transform: scaleX(-1);
	top: 215px;
	left: 300px;
	opacity: .3;
}

section#footer .contact-message {
	position: absolute;
	font-family: 'Permanent Marker', cursive;
	color: white;
	top: 205px;
	left: 370px;
	color: rgb(91, 91, 91);
	/*opacity: .3;*/

	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* @waves */

.wave {
	margin-bottom: -6px;
	margin-top: -2px;
	width: 100%;
}

/* @slick */

.slick-slide {
	outline: none !important;
}

.slide {
	position: relative;
	height: 100vh; 
	width: 100%;
}

.slide > .content {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	
	display: table;
	text-align: center;
}

.slide > .content button {
	outline: none;
	border: 1px solid white;
	background: none;
	padding: 10px 30px;
	border-radius: 1000px;
	color: white;
	cursor: pointer;
	transition: all ease .2s;
	filter: brightness(100%);
}

.slide > .content button:hover {
	background-color: white;
	color: var(--bgcolor);
}

.slide > .content button:hover * {
	filter: brightness(75%);
}

.slide > .content > div {
	display: table-cell;
	table-layout: fixed;
	vertical-align: middle;
	padding: 0px 0px;
}

.slide > .content > div:not(.stephcraft-card) h1 {
	display: inline-block;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 900;
	font-size: 3em;
	padding: 0px;
	margin: 0px;
}

.slide > .content > div:not(.stephcraft-card) h3 {
	display: block;
	font-family: 'Lato', sans-serif;
	font-weight: 100;
	font-size: 1.5em;
	padding: 0px;
	margin: 0px;
}

.slide > .content .article {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 860px;
	margin: 0px auto;
	margin-top: 80px;
}

.slide > .content .article > div:last-child img {
	border-radius: 4px;
	box-shadow: 5px 10px 40px rgba(0, 0, 0, .2);
	width: 400px;
	/*transition: transform .2s;*/
}

.slide > .content .article > div:last-child {
	perspective: 500px;
}

.slide > .content .article > div:first-child {
	text-align: left;
	margin-right: 50px;
}

#hero-header {
	--bgcolor: #7971F0;

	position: relative;
	height: 100vh; 
	width: 100%;

	display: table;
	text-align: center;

	background-image: linear-gradient(-45deg, rgba(0,0,0,0), rgba(0,0,0,.5));
	background-color: var(--bgcolor);
}

#hero-header > div {
	display: table-cell;
	table-layout: fixed;
	vertical-align: middle;
	padding: 0px 0px;
}

/* @items */

.left {
	text-align: left;
}

.right {
	text-align: right;
}

img.logo {
	width: 150px;
	height: 150px;
	border-radius: 100%;
	box-shadow: 0px 0px 100px rgba(0, 0, 0, .75);
	margin-left: auto;
  	margin-right: auto;
}

.stephcraft-card {
	font-family: 'Open Sans', sans-serif;
}

.stephcraft-card div {
	user-select: all;
}

.stephcraft-card > h1 {
	font-size: 5em;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 900;
	margin-bottom: 0px;
}

.stephcraft-card > h2 {
	padding: 0px;
	margin: 0px;
	font-family: 'Lato', sans-serif;
	font-weight: 100;
	font-size: 2em;
	text-shadow: none !important;
}

.parallax-background {
	/* Display and position the pseudo-element */
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  
  /* Move the pseudo-element back away from the camera,
   * then scale it back up to fill the viewport.
   * Because the pseudo-element is further away, it appears to move more slowly, like in real life. */
  transform: translateZ(-1px) scale(1.5);
  /* Force the background image to fill the whole element. */
  background-size: 100%;
  /* Keep the image from overlapping sibling elements. */ 
  z-index: -1;
}

.parallax-container {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.background-image {
	/* Full height */
	height: 100vh; 
	width: 100%;

	/* Create the parallax scrolling effect */
	background-attachment: scroll;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;

	/* Custom */
	background-position: 50% 50%;
}

#slideshow {
	--bgcolor: #7971F0;
	position: relative;
	margin: 0px;
	background-image: linear-gradient(-45deg, rgba(0,0,0,0), rgba(0,0,0,.5));
	background-color: var(--bgcolor);
	transition: background-color .5s;

	height: 100vh;
	overflow: hidden;
}

.slick-dots {
	top: calc(100% - 30px);
}

/* @scrollmagic */
.fade {
	--delay: 0s;

	opacity: 0;
	transform: translateY(100px);

	transition: opacity .5s ease, transform .2s ease;
	transition-delay: var(--delay);
}

.fade.visible, body:not(.loaded) .fade {
	opacity: 1;
	transform: translateY(0px);
}

/* @sctoll-indicator */

.scroll-indicator-container {
	position: absolute;
	width: 100%;
	bottom: 50px;
}

.scroll-indicator {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 35px;
	border: 2px solid white;
	border-radius: 20px;

	margin: auto 0px;
}

.scroll-indicator::after {
	content: "";
	--offset: 0px;
	position: absolute;
	border: 2px solid white;
	border-radius: 100%;
	top: 10px;
	left: 50%;
	transform: translate(-50%, -50%);

	animation: scroll-indicator-animation 1s ease infinite;
}

@keyframes scroll-indicator-animation {
	0% {
		transform: translate(-50%, -50%);
		opacity: 1;
	}

	100% {
		transform: translate(-50%, calc(-50% + 15px));
		opacity: 0;
	}
}


/* @mobile */

@media screen and (min-width: 660px) and (max-width: 956px) {

	section > .wrapper {
		width: calc(100% - 80px);
		padding: 80px 40px;
	}

	.slide > .content .article {
		width: auto;
		padding: 0px 10vw;
		font-size: calc(1vw + 5px);
	}

	.slide > .content .article button {
		font-size: calc(1vw + 5px);
		padding: .5em 30px;
		margin-bottom: 10px;
	}

	.slide > .content .article > div:last-child img {
		width: 40vw;
	}

	.blog {
		width: 566px;
	}

	.blog .article {
		margin: 0px;
		margin-bottom: 20px;
	}

	.blog .article:not(:first-child):not(:nth-child(4n)):not(:nth-child(6n)) {
    	margin-left: 0px;
	}

	.blog .article:not(:first-child):not(:nth-child(3n)):not(:nth-child(5n)) {
		margin-left: 20px;
	}

	section#footer img.contact-arrow {
		left: calc(50% - 180px);
	}

	section#footer .contact-message {
		left: calc(50% - 110px);
	}
}

@media screen and (max-width: 660px) {

	section > .wrapper {
		width: calc(100% - 40px);
		padding: 80px 20px;
	}

	section#footer img.contact-arrow {
		display: none;
	}

	section#footer .contact-message {
		display: none;
	}

	section#footer .nav {
		display: inline-flex;
		flex-direction: column;
	}

	section#footer .nav .column:not(:last-child) {
		margin-bottom: 20px;
	}

	section#footer .nav .column > .title {
		margin-bottom: 0px;
	}

	section > .wrapper.center > p {
		max-width: 400px;
	}

	ul.nav li:not(.mobile) {
		display: none !important;
	}

	ul.nav li.mobile svg.svg-inline--fa {
		cursor: pointer;
	}

	.mobile {
		display: initial;
	}

	.slide > .content .article {
		flex-direction: column-reverse;
		width: auto;
		margin-top: 80px;
		padding: 0px 10vw;
	}

	.slide > .content .article p:not(:empty) {
		display: none;
	}

	.slide > .content .article > div:first-child {
		margin-right: auto;
	}

	.slide > .content .article > div:last-child img {
		width: 80vw;
	}

	.slide > .content > div:not(.stephcraft-card) h3 {
		font-size: 1em;
		margin-bottom: .6em;
	}

	.stephcraft-card {
		font-size: 2.5vw;
	}

	.community {
		flex-direction: column;
		height: auto;
		text-align: center;
		padding: 30px;
	}

	.community .icon {
		padding: 0px;
	}

	.community:not(:first-child) .content .title {
		margin-top: 10px;
	}

	.skill {
		border: 1px solid rgba(255, 255, 255, .3);
		border-radius: 4px;
	}

	.skill.left {
		margin-bottom: 20px;
	}

	.skill.left > div {
		flex-direction: column;
	}

	.skill.right > div {
		flex-direction: column-reverse;
	}

	.skill > div {
		margin: 0px auto !important;
	}

	.skill > div > .svg-inline--fa {
		margin: 0px auto !important;
	}

	.skill > div span {
		display: inline-block;
		text-align: left;
		margin: 0px auto;
		padding: 20px;
	}

	.skill h3 {
		text-align: center;
	}

	.blog {
		display: flex;
		flex-direction: column;
	}

	.blog .article {
		width: 100%;
		margin: 0px !important;
	}

	.blog .article:not(:last-child) {
		margin-bottom: 20px !important;
	}

	.blog .article .image-container .image {
		width: 100%;
	}

	.blog .article .image-container a .icon-link {
		left: calc(50% - 28px);
	}

	#github button::before {
		content: "Contribute";
	}

	.wave:not([src*="wave02"]) {
		padding-top: 3px;
	}
}

/* @font */

@font-face {
	font-family: comfortaa;
	font-weight: normal;
	font-style: normal;
    src: url(/data/font/comfortaa/Comfortaa_Regular.ttf);
}

@font-face {
	font-family: comfortaa;
	font-weight: bold;
	font-style: bold;
    src: url(/data/font/comfortaa/Comfortaa_Bold.ttf);
}

@font-face {
	font-family: comfortaa;
	font-weight: 100;
	font-style: normal;
    src: url(/data/font/comfortaa/Comfortaa_Thin.ttf);
}

@font-face {
	font-family: minecraft;
    src: url(/data/font/minecraft/Minecraft-Regular.otf);
}

@font-face {
	font-family: oswald;
    src: url(/data/font/oswald/Oswald-Regular.ttf);
}

@font-face {
	font-family: 'Permanent Marker';
	src: url(/data/font/permanent-marker/permanent-marker-regular.woff2);
}

@font-face {
	font-family: 'Lato';
	font-weight: 100;
	font-style: normal;
	src: url(/data/font/lato/Lato-Hairline.ttf);
}

@font-face {
	font-family: 'Lato';
	font-weight: 400;
	font-style: normal;
	src: url(/data/font/lato/Lato-Regular.ttf);
}

@font-face {
	font-family: 'Lato';
	font-weight: 900;
	font-style: normal;
	src: url(/data/font/lato/Lato-Heavy.ttf);
}

@font-face {
	font-family: 'Source Sans Pro';
	font-weight: 900;
	font-style: normal;
	src: url(/data/font/source-sans-pro/SourceSansPro-Regular.woff2);
}

@font-face {
	font-family: 'Arial Rounded MT Bold';
	font-weight: 400;
	font-style: normal;
	src: url(/data/font/arial-rounded-mt-bold/ArialRoundedMTBold.ttf);
}

/*

.parallax {
	/* Full height *
	height: 100vh; 
	width: 100%;

	/* Create the parallax scrolling effect *
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;

	/* Custom *
	background-position: 50% 50%;
}

#slideshow .slide {
	position: relative;
	width: 100%;
    height: var(--height);
    background-position: center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    opacity: 0.25;
}*/

/*

<div class='waves flip'>
	<div class='wave -one'></div>
	<div class='wave -two'></div>
	<div class='wave -three'></div>
</div>

.waves {
	position: relative;
  	overflow: hidden;
	width: 300px;
  	height: 300px;
  	background-color: white;
  	transform: scale(1.0, 1.0);
  	-webkit-transform-origin: 0% 100%;
}

.waves.flip {
	transform: rotate(180deg) translate(-100%, 100%);
}

.waves::after {
	content: '';
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(#161616 30%, transparent 80%);
	z-index: 11;
	transform: translate3d(0, 0, 0);
}

.waves > .wave {
	opacity: .4;
	position: absolute;
	top: 3%;
	left: 50%;
	background: rgba(0,0,0,.5);
	width: 500px;
	height: 500px;
	margin-left: -250px;
	margin-top: -250px;
	transform-origin: 50% 48%;
	border-radius: 43%;
	animation: drift 3000ms infinite linear;
}

.wave.-three {
  animation: drift 5000ms infinite linear;
}

.wave.-two {
  animation: drift 7000ms infinite linear;
  opacity: .1;
  background:rgba(0,0,0,.2);
}

@keyframes drift {
	from { transform: rotate(0deg); }
	from { transform: rotate(360deg); }
}
*/

/*
.blog > .row > .article a.tag {
	--color: black;
	position: relative;
	display: inline-block;
	background-color: white;
	box-shadow: 0px 2px 5px rgba(0,0,0,.1), 0px 0px 5px rgba(0,0,0,.1);
	color: black;
	font-size: .8em;
	padding: .05em .5em;
	padding-top: 0em;
	padding-bottom: .1em;
	border-radius: 1em;
	font-family: 'Open Sans', sans-serif;
	transition: all .2s;
	cursor: pointer;
}

.blog > .row > .article a.tag:hover {
	box-shadow: 0px 2px 7px rgba(0,0,0,.2), 0px 0px 7px rgba(0,0,0,.1);
	background-color: var(--color);
	color: white;
}

a.tag:hover::before {
	background-color: white;
}

a.tag::before {
	content: "";
	position: relative;
	font-size: 0px;
	padding: 6px;
	top: -4px;
	margin-right: 8px;
	border-radius: 100%;
	background-color: var(--color);
}*/

/*
span.tag {
	--color: black;
	display: inline-block;
	background-color: var(--color);
	color: white;
	font-size: .8em;
	padding: .05em .6em;
	padding-top: 0em;
	padding-bottom: .1em;
	border-radius: 1em;
	font-family: 'Open Sans', sans-serif;
}
*/