/* 1. General */

html, body { height: 100%; }

body {
	font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
	margin: 0 auto;
	background-color: #fff;
	color: #333;
}

img { max-width: 100%; }

a {
	outline: 0!important;
	color: #5b9bbc;
}

a:hover {
	text-decoration: none;
}

a img {
	border: 0;
}

/* 1.1 Layout add-ons */

.bullet { padding-left: 5px; padding-right: 5px; }

.cool {
	font-size: 0.6em;
	line-height: 1.3em;
	vertical-align: top;
}

.line {
	display: block;
	width: 290px;
	height: 3px;
	padding: 0!important;
	background: #ccc;
}

.separator {
	width: 30px;
	height: 3px;
	background: #d0d0d0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 30px;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.centered {
	margin-left: auto;
	margin-right: auto;
	float: none;
}

.left { float: left!important; }
.right { float: right!important; }

/* 1.2 Section styling */

.section,
.section-alt {
	margin: 0 auto;
	padding: 75px 0;
	position: relative;
}

.section { background-color: #fff; }
.section-alt {
	background: #ffffff;
	background: -moz-linear-gradient(top, #ffffff 0%, #fafafa 100%);
	background: -webkit-linear-gradient(top, #ffffff 0%,#fafafa 100%);
	background: linear-gradient(to bottom, #ffffff 0%,#fafafa 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fafafa',GradientType=0 );
}

.section-title {
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 2.250em;
	font-weight: 300;
	color: #0f1025;
	text-transform: uppercase;
	display: block;
	text-align: center;
	letter-spacing: 0.1em;
}

.section-title .cool {
	line-height: 1.7em;
}

/*.section-content { margin-top: 60px; }*/

.section h3,
.section-alt h3 {
	font-size: 1.5em;
	color: #222;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.section h4,
.section-alt h4 {
	font-size: 1em;
	color: #222;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.column > :first-child { margin-top: 0; }

/* 1.3 Form elements */

input[type="text"], textarea {
	font-family: inherit;
	font-size: 1em;
	font-style: italic;
	width: 96%;
	padding: 0 2%;
	height: 40px;
	line-height: 40px;
	font-size: 1em;
	background-color: #ccc;
	border: 0;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	resize: none;
}

textarea {
	height: auto;
	line-height: 1.4em;
	padding: 2%;
}

label {
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-bottom: 10px;
}

label.error {
	margin: 10px 0 0 0;
	font-size: 0.750em;
	color: #e76270;
}

input.error, textarea.error {
	/*-webkit-box-shadow: inset 0px 0px 4px 3px rgba(231, 98, 112, 0.5);
	box-shadow: inset 0px 0px 4px 3px rgba(231, 98, 112, 0.5);*/
	background-color: #ffe0d5!important;
}

.button {
	display: inline-block;
	color: #ffffff!important;
	background-color: #5b9bbc!important;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	border: none;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.15em;
	cursor: pointer;
}

.button:hover {
	color: #ffffff!important;
	background-color: #4081a3!important;
}

.button-small {
	padding: 5px 10px;
	font-size: 0.875em;
}

.button-medium {
	padding: 10px 15px;
	font-size: 1em;
}

.button-large {
	padding: 15px 20px;
	font-size: 1.125em;
}

/* 2. Intro */

#intro {
	width: 100%;
	height: 100%;
	position: relative;
	background-color: #283464;
	color: #fff;
}
#intro:before {
	content: '';
	background-image: url(../img/portrait.jpg);
	background-position: center;
	background-size: cover;
	opacity: 0.15;
	filter: grayscale(100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#intro .line { background-color: #5b9bbc; }
#intro .bullet { color: #5b9bbc; }
#intro a { color: #5b9bbc; }

#intro p {
	font-size: 22px;
	text-transform: uppercase;
    letter-spacing: 0.15em;
}
@media (max-width: 640px) {
	#intro p {
		font-size: 15px;
	}
}

.top-decorations {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 10px;
	background: #515b83;
}

/* 2.1 Navigation */

#nav {
	background: #283464/* url("../img/bg_nav-noise.jpg") repeat*/;
	width: 100%;
	height: 60px;
	text-align: center;
	position: absolute;
	margin: 0 auto;
	z-index: 1;
	bottom: 0;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	box-shadow: 0 -15px 30px rgba(0, 0, 0, 0.15);
}

#nav-sticky-wrapper.is-sticky #nav {
	bottom: auto;
}

#nav ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: inline-block;
	*display: inline;
}

#nav ul li {
	padding: 0 8px;
	line-height: 60px;
	display: inline-block;
	/*float: left;*/
	text-transform: uppercase;
}

#nav ul li a {
	display: block;
	font-size: 0.938em;
	letter-spacing: 0.1em;
	color: #fff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
	text-decoration: none;
}

#nav ul li a:hover, #nav ul li.current a { color: rgb(91, 155, 188); text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }

/* 2.2 Info box */

.info {
	width: 100%;
	height: 100%;
	margin-bottom: -60px;
	text-align: center;
}

.info .container {
	position: relative;
	top: calc(50% - 65px);
}

.info .container h1 {
	margin: 0;
	padding: 0;
	font-size: 3.750em;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-transform: uppercase;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
.info .container p {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.info .container h4 {
	margin: 0;
	padding: 0;
	font-size: 1.875em;
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-transform: uppercase;
}

/* 3. Profile */

#profile .line { background-color: rgba(39, 47, 98, 0.6);/*background-color: #4081a3;*/ }
#profile .bullet { color: #4081a3; }
#profile a { color: #4081a3; }

.social-links {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.social-links li {
	float: left;
	margin: 0 8px 8px 0;
}
.social-links li a { display: inline-block; text-decoration: none; }
.social-links li i { font-size: 1.5em; }
.big-text {
	font-size: 18px;
}

/* 4. Skills */

#skills { background-color: #f9e7e3; border-top: 15px solid rgba(240, 139, 101, 0.4); border-bottom: 15px solid rgba(240, 139, 101, 0.4); }
#skills .line { background-color: #f08b65; }

.skill {
	text-align: center;
}
.skill-pie {
	width: 100%;
	margin: 0 auto;
	font-size: 1.875em;
	font-weight: 300;
	background: -moz-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 80%);
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(255,255,255,1)), color-stop(80%,rgba(255,255,255,0)));
	background: -webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 80%);
	background: -o-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 80%);
	background: -ms-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 80%);
	background: radial-gradient(ellipse at center, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 80%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
}
.easyPieChart canvas { margin: 0 auto; }
.skill h4 {
	color: #fff;
	font-weight: 300;
	background-color: rgba(240, 139, 101, 0.8);
	padding: 5px;
}

.fx-backstretch-technical {
	/*border-top: 10px solid #f4d4cd;
	border-bottom: 10px solid #f4d4cd;*/
	/*border-top: 15px solid rgba(240, 139, 101, 1);
	border-bottom: 15px solid rgba(240, 139, 101, 1);*/
}

/* 5. Experience */

#experience .line { /*background-color: #e76270;*/background-color: rgba(39, 47, 98, 0.6); }
#experience .bullet { color: #e76270; }
#experience a { color: #e76270; }

.job h3 {
	margin: 0 0 10px 0;
	text-align: center;
}

.job-attributions {
	display: block;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

.job-period { text-align: right; }

.job-project { text-align: center; }

/* 6. Education */

/*#education { background-color: #f7f7ff; border-top: 15px solid rgba(39, 47, 98, 0.1); border-bottom: 15px solid rgba(39, 47, 98, 0.1); }*/
#education .line { background-color: rgba(39, 47, 98, 0.6);/*background-color: rgba(206, 77, 77, 0.8);*/ }
#education .bullet { color: #f24759; }
#education .separator { background-color: rgba(39, 47, 98, 0.25); }
#education a { color: #f24759; }

.school h3 {
	font-size: 1.75em;
	text-align: center;
	margin: 0 0 10px 0;
}

.school-meta {
	display: block;
	font-size: 0.85em;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

.fx-backstretch-education {
	/*padding: 40px 0;*/
	border-top: 15px solid rgba(39, 47, 98, 0.4);
	border-bottom: 15px solid rgba(39, 47, 98, 0.4);
}

/* 7. Portfolio */

#portfolio .line { background-color: #f08b65; }
#portfolio .bullet { color: #f08b65; }
#portfolio a { color: #f08b65; }

.project {
	opacity: 0;
        display: none;
	text-align: center;
        min-height: 300px;
}

.filters {
	display: block;
	margin: 0 0 15px 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

.filters li {
	color: #000000;
	display: inline-block;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

.filters li:hover, .filters li.active { color: #f08b65; }

.filters li:before {
	content: "\2022";
	padding: 0 10px;
	color: #f08b65;
}

.filters li:first-child:before {
	content: "";
	padding: 0;
}

/* 8. Contact */

#contact {
	/*background-color: #0d2c5a;*/
	background: #283464/* url("../img/bg_nav-noise.jpg") repeat*/;
	/*min-height: 80%;*/
	min-height: 85%;
	color: #fff;
}

#contact h2, #contact h3, #contact h4 { color: #fff; }

#contact .line { background-color: #5b9bbc; }
#contact .bullet { color: #5b9bbc; }
#contact a { color: #5b9bbc; }

#contact input[type="text"], #contact textarea { background-color: #fff; }

/* A. Clearfix */

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

.clearfix { display: inline-block; }

/* A.1 Hides from IE5/Mac \*/
* html .clearfix { height: 1px; }

.clearfix  { display: block; }
/* End hide from IE5/Mac */


/* B. Media Queries */
@media screen and (max-width: 768px) {
	.skill,
	.project { width: 33.33333333333333%; }
	.job-project { width: 50%; }
}

@media screen and (max-width: 640px) {
	.container { max-width: 90%; }
	.section-title { font-size: 2em; line-height: 1em; }
	.info .container h1 { font-size: 2.300em; }
	.info .container h4 { font-size: 1.500em; }
	/*#nav li { font-size: 0.875em; line-height: 30px; }*/
	/*#nav li a span { display: none; }*/
	.line { width: 200px; }
	.job-company,
	.job-period { text-align: center; }
	.skill,
	.job-project,
	.project { float: left; width: 50%; }
	.text-right { text-align: left; }
	#nav { height: 50px; }
	#nav ul { display: block; }
	#nav ul li { float: left; padding: 10px 0; width: 25%; }
	.nav-icon { background-size: 100% auto; background-repeat: no-repeat; background-position: top center; text-indent: -9999px; display: block; margin: 8px auto; width: 16px; height: 16px; }
	li.current .nav-icon { background-position: center -16px; }
	#icon-about { background-image: url("../img/icon-about.png"); }
	#icon-skills { background-image: url("../img/icon-skills.png"); }
	#icon-experience { background-image: url("../img/icon-experience.png"); }
	#icon-education { background-image: url("../img/icon-education.png"); }
	#icon-portfolio { background-image: url("../img/icon-portfolio.png"); }
	#icon-contact { background-image: url("../img/icon-contact.png"); }
}

@media screen and (max-width: 480px) {
	.section { padding: 20px 0; }
	.section-content { margin-top: 20px; }
	.skill { padding: 0 5px; }
}


.title-icon {
	display: block;
	margin: 40px auto 20px;
}
