@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Raleway:400,600');

/*reset*/
ul, li, a, body, html, div, p, img, figure, figcaption {margin:0; padding:0;}

html {height:100%;}
body {
	background-color: #ffffff;
	height:100%;
	font-size:16px;
	font-weight:200;
	font-family: 'Roboto',"Open Sans", Helvetica, sans-serif;
	color: #474a4c;
}
::selection {background: #6f7173;color:#fff;}
::-moz-selection {background: #6f7173;color:#fff;}/* Firefox */

a, a:visited {color: #534c4a;text-decoration: underline;}
a:hover, a:active {color:#6e6967;text-decoration:none;}
h1, h2, h3, h4, h5, h6 {clear:both;color:#474a4c;margin:12px 0;}
h1 {font-size: 170%;}
h2 {margin:28px 0 12px 0;}
p {font-size:120%;line-height: 140%;margin:20px 0;}

/* Increase text only for mobile devices */
p, .content h1, .content h2, .projects {
	-moz-text-size-adjust: 130%;
	-webkit-text-size-adjust: 130%;
	-ms-text-size-adjust: 130%;
	text-size-adjust: 130%;
}

header {
	position:fixed;
	top:0;
	z-index: 2;
	background: #3c4042;
	height: 85px;
	transition: height .5s;
}
.sticky header {height:60px;}
header .row {width:100%;}

#logo {
	position: absolute;
    z-index: 100;
	margin: 0 0 0 35px;
	perspective:500px;
	height: 0;
}

img.logo {
	position: absolute;
	width: 90px;
	top: 10px;
	/*z-index: 100;*/
	transition: all .5s;
}
.sticky img.logo {width: 60px;}
img.title {
	position: absolute;
	top: 25px;
	left: 105px;
	width: 180px;
	-webkit-transition: top .5s, left .5s, transform 3s cubic-bezier(0.395,0.035,0.795,0.035);
	-moz-transition: top .5s, left .5s, transform 3s cubic-bezier(0.395,0.035,0.795,0.035);
	-o-transition: top .5s, left .5s, transform 3s cubic-bezier(0.395,0.035,0.795,0.035);
	transition: top .5s, left .5s, transform 3s cubic-bezier(0.395,0.035,0.795,0.035);
}

.sticky img.title {top: 12px;left: 80px;}

img.title {
  animation-name: logospin;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: alternate;
}

@keyframes logospin {
	0% {transform: rotateY(0deg);}
	50% {transform: rotateY(180deg);}
	100% {transform: rotateY(360deg);}
}

.gradient {
	height:3px;
	width:100%;
	background:white;
	background:linear-gradient(to right, white, #ffea4c, #ffb854, #6bdaed, #caed77, white);
	position: absolute;
	z-index: -2;
	top: 85px;
	transition: top .5s;
}
.sticky .gradient {top: 60px;}

.gradient span {
	background: linear-gradient(to right, rgba(255,255,0, 0), rgba(255,255,0,1) 50%, rgba(255,255,0, 0));
	width: 25px;
	height: 100%;
	position: absolute;
	transform: translateX(0);
	animation: polishine 3s infinite alternate ease-in-out;
}
@keyframes polishine {
	0% {transform: translateX(50px);opacity:0;}
	25% {opacity:1;}
	75% {opacity:1;}
	100% {transform: translateX(800px);opacity:0;}
}

/*#pulse-container {
	position: relative;
	animation: traveller 300s infinite linear;
}

.dot {
	width: 2px;
    height: 2px;
    border: 1px solid #edba1d;
    border-radius: 30px;
    background-color: #ed8821;
    z-index: 10;
    position: relative;
    top: 10px;
    left: 31px;
}

.pulse {
	border: 5px solid #fff601;
	background: transparent;
	border-radius: 60px;
	height: 20px;
	width: 20px;
	animation: pulse 3s infinite ease-out;
	position: relative;
	top: 27px;
	left: 18px;
	z-index: 1;
	opacity: 0;
}*/

/*@keyframes pulse {
	0% {transform: scale(0);opacity: 0.0;}
	25% {transform: scale(0);opacity: 0.1;}
	50% {transform: scale(0.1);opacity: 0.3;}
	75% {transform: scale(0.5);opacity: 0.5;}
	100% {transform: scale(1);opacity: 0.0;}
}*/

/*
@keyframes traveller {
	0% {transform: translate(0px,0px);opacity:1;}
	5% {transform: translate(50px,-80px);opacity:0;}
	6% {transform: opacity:1;}
	25% {transform: translate(400px,-80px);opacity:1;}
	50% {transform: translate(800px,-10px);opacity:0;}
	75% {transform: translate(600px,-60px);opacity:1;}
	100% {transform: translate(0px,0px);opacity:0;}

}
*/

/*
@keyframes twinkle {
	from {
		opacity:0;
		transform: scale(1, 1);
	}
	to {
		opacity:1;
		transform: scale(2, 2);
	}
}
.stars {display:none;}
.stars span {
	position:absolute;
	top: 0;
	left: 0;
	background: #a29e91;
	border-radius: 50%;
	height:3px;
	width: 3px;
	transform: scale(5,5);
}

.stars span:nth-child(1) {transform: translate(75px,60px);animation: twinkle 2s 2s infinite alternate ease;}
.stars span:nth-child(2) {transform: translate(105px,10px);animation: twinkle 1.5s 4s infinite alternate ease;}
.stars span:nth-child(3) {transform: translate(130px,50px);animation: twinkle .5 3s infinite alternate ease;}
.stars span:nth-child(4) {transform: translate(150px,60px);animation: twinkle 1s 4s infinite alternate ease;}
.stars span:nth-child(5) {transform: translate(180px,30px);animation: twinkle 2.3s 3s infinite alternate ease;}
.stars span:nth-child(6) {transform: translate(200px,50px);animation: twinkle 2.2s 2s infinite alternate ease;}
.stars span:nth-child(7) {transform: translate(220px,30px);animation: twinkle 3s infinite alternate ease;}
.stars span:nth-child(8) {transform: translate(250px,10px);animation: twinkle 5s 3s infinite alternate ease;}
.stars span:nth-child(9) {transform: translate(280px,45px);animation: twinkle 1s 3s infinite alternate ease;}
.stars span:nth-child(10) {transform: translate(320px,30px);animation: twinkle 4s 3.2s infinite alternate ease;}
.stars span:nth-child(11) {transform: translate(340px,10px);animation: twinkle 1.2s 2.8s infinite alternate ease;}
.stars span:nth-child(12) {transform: translate(380px,40px);animation: twinkle 1.2s 2.5s infinite alternate ease;}
.stars span:nth-child(13) {transform: translate(420px,50px);animation: twinkle 1.2s 4s infinite alternate ease;}
.stars span:nth-child(14) {transform: translate(500px,55px);animation: twinkle 1.2s 2.2s infinite alternate ease;}
.stars span:nth-child(15) {transform: translate(620px,30px);animation: twinkle 3s 3s infinite alternate ease;}

*/







.content {min-height: 500px; margin: 130px auto 55px auto;}
.content h1 {margin-bottom:25px;}

#home .content h1 {
	font-family: 'Raleway', sans-serif;
	font-weight:600;
	font-size: 180%;
	line-height: 110%;
}

p.buckets {
	font-size: 100%;
	text-align: center;
	margin: 50px auto;
	max-width:800px;
	display:-webkit-flex;display:-ms-flexbox;display:flex;
	-webkit-justify-content: space-around;-ms-flex-pack: justify;justify-content: space-around;
	align-items: stretch;
	align-content:space-around;
	flex-flow:column;
}

.buckets a {padding: 16px 0px 13px;text-decoration: none;color: #474a4c;}

a#html5 {background: #ffea4c;transition: all .3s;}
a#wordpress {background: #ffb854;transition: all .3s;}
a#javascript {background: #6bdaed;transition: all .3s;}
a#bootstrap {background: #caed77;transition: all .3s;}

a#html5:hover,
a#html5:active {background: #fce428;transform: scale(1.05);}
a#wordpress:hover,
a#wordpress:active {background: #ffaa33;transform: scale(1.05);}
a#javascript:hover,
a#javascript:active {background: #5cd5eb;transform: scale(1.05);}
a#bootstrap:hover,
a#bootstrap:active {background: #c2e868;transform: scale(1.05);}

.projects {font-size: 110%;line-height: 150%;margin-left: 20px;}
.projects li {list-style-type: none;}
.right-caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 8px;
    vertical-align: middle;
    border-left: 4px dashed;
    border-left: 4px solid\9;
    border-bottom: 4px solid transparent;
    border-top: 4px solid transparent;
}


/* Contact Form styles */
#contact-form {max-width:640px;}
#contact-form label {
	display:block;
	margin:0;
	font-size: 110%;
    font-weight: 200;
}
#contact-form input,
#contact-form textarea {
	width: 100%;
	font-size: 100%;
	font-weight: 200;
	margin-bottom: 10px;
	padding: 6px 16px;
	border-radius: 0;
	box-sizing: border-box;
	font-family: 'Roboto',"Open Sans", Helvetica, sans-serif;
}
#contact-form input {
	border: none;
	border-bottom: 1px solid #c1c1c1;
}
#contact-form textarea {
	height: 113px;
	margin: 0.7em 0 1em;
	font-size: 100%;
	border: 1px solid #c1c1c1;
	border-top: none;
}
#contact-form textarea:focus,
#contact-form input:focus {border-color: #717171;outline:none;}

:focus {outline:none;}

#contact-form input::placeholder,
#contact-form textarea::placeholder {
	color:#757575;
	font-family: 'Roboto',"Open Sans", Helvetica, sans-serif;
	font-weight:200;
	font-size:100%;
}

#contact-form input:invalid,
#contact-form textarea:invalid,
#contact-form input:focus,
#contact-form textarea:focus {box-shadow: none; outline:none;}

#contact-form .form-field {position:relative;}
#contact-form .errormsg {
	position: absolute;
    right: 20px;
    bottom: -14px;
    background: #ffbaa8;
    padding: 5px 12px;
	border-radius: 5px;
	font-size: 95%;
	font-weight: 200;
	font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#contact-form .errormsg:after {
	position:absolute;
	top: -10px;
	left: 60px;
	content:"";
	border:0;
	border-right: 15px solid transparent;
	border-bottom: 10px solid #ffbaa8;
}

#contact-form button#submitBtn {
	background: #ffb854;
  border: none;
  font-size: 90%;
  text-transform: uppercase;
	padding: 20px;
  width: 100%;
	box-sizing: border-box;
	transition: all .2s;
}
#contact-form button#submitBtn:hover,
#contact-form button#submitBtn:active {
	background:#ffaa33;
	cursor:pointer;
	transform:scale(1.05);
}

#contact-form .remark {display:none;}



/* END Contact Form styles */

footer {width: 100%;height: 80px;clear: both;background: #302f2d;}
#footer-text {
	color: #b2b2b2;
	font-size: 12px;
	text-align: center;
	padding: 25px 0 22px;
	background: #444340;
	width: 100%;
	border-bottom: 2px solid #5d5c58;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	text-size-adjust: none;
}

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

	#logo {margin: 0 0 0 15px;}

} /* END max-width: 600px */

@media screen and (min-width: 768px) {

	header .row {width:80%;}
	#logo {margin: 0 0 0 -36px;}
	img.title {position: relative;left: 110px;}
	.sticky img.title {left: 80px;}
	.content {margin: 140px auto 55px auto;}
	p.buckets {padding: 0 42px;border-bottom: 1px #999 solid;flex-flow: row;}
	.buckets a {-webkit-flex:1;-ms-flex:1;flex:1;}

	a#html5:hover,
	a#html5:active {transform: rotate(-5deg) scale(1.2);}
	a#wordpress:hover,
	a#wordpress:active {transform: rotate(3deg) scale(1.2);}
	a#javascript:hover,
	a#javascript:active {transform: rotate(-3deg) scale(1.2);}
	a#bootstrap:hover,
	a#bootstrap:active {transform: rotate(4deg) scale(1.2);}

	#contact-form button#submitBtn {padding: 10px;width: 130px;float:right;}
	#contact-form button#submitBtn:hover {transform-origin: right;}
} /* END min-width: 768px */

.bubble {
	position:relative;
	padding:15px 25px;
	border-radius:10px;
	background:red;
	color: white;
	margin-bottom:25px;
}
.bubble:before {
	position:absolute;
	top: -20px;
	left: 60px;
	content:"";
	border:0;
	border-left: 30px solid red;
	border-top: 20px solid transparent;
}

.bubble:after {
	position:absolute;
	top:-20px;
	left:60px;
	content:"";
	border-right: 10px solid transparent;
	border-bottom: 20px solid white;
}


.bubble-border {
	position: relative;
	padding: 15px 20px;
	margin: 1em 0 3em;
	border: 5px solid #5a8f00;
	color: #333;
	background: #fff;
	border-radius: 10px;
}
.bubble-border:before {
	content: "";
    position: absolute;
	top: -20px;
	bottom: auto;
	left: auto;
	right: 40px;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-bottom: 20px solid #5a8f00;
}
.bubble-border:after {
	content: "";
	position: absolute;
    top: -13px;
    right: 47px;
	border-right: 13px solid transparent;
	border-left: 13px solid transparent;
	border-bottom: 13px solid #fff;
}


.k-widget {
	color:#474a4c;
	font-size:90%;
	background:#ffb854;
	border-radius:5px;
	position: relative;
    padding: 15px 35px;
}

.k-widget:before {
	position:absolute;
	top: -10px;
	left: 60px;
	content:"";
	border:0;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-bottom: 10px solid #ffb854;
}
