/* SITE WIDE STYLES */
body, html {
	font-size: 16px;
	font-family: sans-serif, arial, helvetica;
	margin: 0;
	height: 100%;
}

* {
	box-sizing: border-box;
}

.wrapper {
	max-width: 100%;
	height: 100%;
}

main {

}

.clear-both {
	clear: both;
}


img {width: 100%;}

/* MARGINS & PADDING */

.margin-top-none {margin-top: 0;}
.margin-bottom-none {margin-bottom: 0;}

.margin-5-top {margin-top: 0.5em;}
.margin-5-right {margin-right: 0.5em;}
.margin-5-bottom {margin-bottom: 0.5em;}
.margin-5-left {margin-left: 0.5em;}

.margin-10-top {margin-top: 1em;}
.margin-10-right {margin-right: 1em;}
.margin-10-bottom {margin-bottom: 1em;}
.margin-10-left {margin-left: 1em;}

.margin-20-top {margin-top: 2em;}
.margin-20-right {margin-right: 2em;}
.margin-20-bottom {margin-bottom: 2em;}
.margin-20-left {margin-left: 2em;}


.block-center {
	margin-left: auto;
	margin-right: auto;
}

/* TEXT STYLES */

h1, h2, h3 {
	margin-top: 1em;
}

h1 {
	font-size: 3em;
	font-weight: normal;
}

h2 {
	font-size: 2.2em;
	font-weight: normal;
}

h3 {
	font-size: 1.6em;
}

p {
	line-height: 1.2em;
}

.small {
	font-size: small;
}

.center {
	text-align: center;
}

.text-white {
	color: #ffffff;
}

.text-blue {
	color: #0e55aa;
}

.underline {
	border-bottom: solid 2px #0e55aa;
	padding: 0 30px;
}

.opener {
	font-size: 4em;
}

.opener-p {
	font-size: 2.5em;
	margin-top: 0;
}


/* LINK STYLES */
a:link, a:visited {
	text-decoration: none;
	color: inherit;
}

a.anchor {
	display: block;
	position: relative;
	top: -3.8em;
	visibility: hidden;
}


/* BACKGROUND IMAGE STYLES */
.bg-img {
	background: url("/images/home_background_desk.jpg") no-repeat center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-attachment: fixed;
	height: 100%;
	position: relative;
	opacity: 0.8;
}

/* BACKGROUND IMAGE TEXT */
.bg-img-text {
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	width: 70%;
}



/* BACKGROUND COLOUR STYLES */
.background-white {
	background-color: #ffffff;
}

.background-blue {
	background-color: #0e55aa;
}

.background-grey {
	background-color: #e1e1e1;
}

.parallax {
	background-image: url("/images/wire_framing.jpg");
	min-height: 500px;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 2em;
	padding-bottom: 2em;
}


/* COLOUR STYLES */

.dark-blue {
	background-color: #0e55aa;
}
.mid-blue {
	background-color: #1387CB;
}
.light-blue {
	background-color: #32C3FF;
}

/* BUTTON STYLES */

.button-primary a {
	font-size: 1.5em;
	color: #ffffff;
	padding: 8px 30px;
	border: solid 1px #ffffff;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	background: none;
	text-align: center;
	margin: 10px auto 0 auto;
	cursor: pointer;
	box-shadow: 0 5px 10px 5px rgba(0,0,0,0.4);
	-moz-box-shadow: 0 5px 10px 5px rgba(0,0,0,0.4);
	-webkit-box-shadow: 0 5px 10px 5px rgba(0,0,0,0.4);
	transition: 0.2s;
}

.button-primary a:hover {
	padding: 8px 50px;
}


/* ABOUT STYLES */

.container-skillbar {
	max-width: 100%;
	/*padding-top: 30px;*/
	height: auto;
	float: left;
}

.skillbar {
	display: block;
	float: right;
	margin-bottom: 15px;
	width: 70%;
	background: #efefef;
	height: 25px;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
}

.skillbar-title {
	width: 30%;
	display: inline-block;
	height: 25px;
	line-height: 25px;
	margin-bottom: 15px;
	color: #0e55aa;
	border-radius: 1px;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	text-align: right;
	padding-right: 20px;
}

.skillbar-bar {
	height: 25px;
	width: 0;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
}

.skill-bar-percent {
	display: inline-block;
	float: right;
	height: 25px;
	line-height: 26px;
	color: #ffffff;
	padding-right: 5px;
}

/* CALL TO ACTION BAR */

.cta {
	background-color: #0e55aa;
	border-top: solid 2px #ffffff;
	border-bottom: solid 2px #ffffff;
	padding: 1em 5em;
	margin-top: 0;
	margin-bottom: 3em;
	text-align: center;
	font-size: x-large;
}

/* PORTFOLIO STYLES */

.portfolio {
	padding-left: 2em;
	padding-right: 2em;
}
.portfolio-item {
	padding: 0.3em;
	border: solid 10px #ffffff;
	text-align: left;
	background-color: #ffffff;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
}

.portfolio-item img {
	width: 100%;
	cursor: pointer;
	transition: 0.3s;
	border: solid 1px #e1e1e1;
}

.portfolio-item img:hover {
	opacity: 0.7;
}

.portfolio-item h4 {
	color: #0e55aa;
	font-weight: 400;
	margin-bottom: 2px;
}

/* FORM STYLES */

form {
	width: 60%;
	border-radius: 1px;
	padding: 2em;
	margin: 0 auto 2em auto;
}

.form-input {
	font-size: 1em;
	width: 100%;
	display: block;
	padding: .5em;
	border: solid 1px #e1e1e1;
	border-radius: 1px;
	margin: .5em 0;
}

.form-input:focus {
	/*outline: solid 2px #0e7aff;
	-moz-outline-radius: 3px;
	-webkit-outline-radius: 3px;*/
	box-shadow: 0 0 0 -2px #0e55aa inset;
	-moz-box-shadow: 0 0 0 -2px #0e55aa inset;
	-webkit-box-shadow: 0 0 0 -2px #0e55aa inset;

}

.bot-checker {
	position: relative;
	margin-bottom: 1em;
}

.bot-checker > .g-recaptcha {
	position: absolute;
	left: 50%;
	transform: translate(-50%);
}

form button {
	font-size: 1.2em;
	background-color: #0e55aa;
	border: solid 1px #0e55aa;
	color: #ffffff;
	padding: 5px 80px;
	margin: 80px auto .5em auto;
	cursor: pointer;

}

form button:hover {
	content: '';
	background: #ffffff;
	color: #0e55aa;
	border: solid 1px #0e55aa;
	transition: 0.4s ease;
}

.form-error {
	display: block;
	height: 1.5em;
	color: red;
}


/* FOOTER STYLES */
footer {
	bottom: 0;
	color: #0e55aa;
	font-size: smaller;
	background-color: rgba(242, 242, 242, 0.8);
}

.copyright {
	text-align: center;
}

/* RESPONSIVE BEGINS */
@media screen and (max-width: 768px) {

	.mob-clear-margin {
		margin-left: 0;
		margin-right: 0;
	}

	.opener {
		font-size: 2.2em;
	}

	.opener-p {
		font-size: 1.3em;
		margin-bottom: 1.3em;
	}

	.parallax {
		background-image: none;
		background-color: #e1e1e1;
	}

	.bg-img {
		height: 60%;
		width: 100%;
		background-attachment: scroll;
	}

	.bg-img-text {
		width: 90%;
	}

	.button-primary a {
		background: rgba(66, 67, 70, 0.61);
	}

	.container-skillbar {
		margin-top: 15px;
	}

	.portfolio {
		padding-left: 1em;
		padding-right: 1em;
	}

	.portfolio-item {
		padding: 0;

	}

	.portfolio-item h4, .portfolio-item p {
		margin-left: 0.6em;
	}

	.skillbar {
		width: 82%;
		margin-right: -10px;
	}

	.skillbar-title {
		text-align: left;
		padding-right: 0;
		font-size: 0.8em;
		width: 18%;
		margin-left: -10px;
	}
	.skill-bar-percent {
		font-size: 0.8em;
		padding-right: 2px;
	}

	form {
		width: 100%;
	}
}