/* Clearfix */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

*, *:before, *:after { box-sizing: border-box; }

/* FONTS ---------------------------------------------------------------------*/
@font-face {
	font-family:"Roboto";
	src: local("Roboto-Light"),
		local("Roboto Light"),
		url("../fonts/Roboto/Roboto-Light.ttf") format("truetype");
	font-weight: 300;
}

@font-face {
	font-family:"Roboto";
	src: local("Roboto-Bold"),
		local("Roboto Bold"),
		url("../fonts/Roboto/Roboto-Bold.ttf") format("truetype");
	font-weight: 700;
}

@font-face {
	font-family:"Raleway";
	src: local("Raleway-Thin"),
		local("Raleway Thin"),
		url("../fonts/Raleway/Raleway-Thin.ttf") format("truetype");
	font-weight: 100;
}

@font-face {
	font-family:"Raleway";
	src: local("Raleway-SemiBold"),
		local("Raleway Semi Bold"),
		url("../fonts/Raleway/Raleway-SemiBold.ttf") format("truetype");
	font-weight: 600;
}

@font-face {
	font-family:"Lato";
	src: local("Lato-Bold"),
		local("Lato Bold"),
		url("../fonts/Lato/Lato-Bold.ttf") format("truetype");
	font-weight: 700;
}

@font-face {
	font-family:"PT Sans";
	src: local("PT Sans"),
		url("../fonts/PT_Sans/PT_Sans-Web-Regular.ttf") format("truetype");
	font-weight: 400;
}

body {
	/* Add more left-right whitespace as window grows */
	margin: 0.5em 5%;
}

/* NAVIGATION BAR ------------------------------------------------------------*/

nav {
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0;
	background: #455868;
	text-align: center;
	border-bottom: 2px solid #283744;
	z-index: 50;
	position: relative;
	box-shadow: 0px 5px 20px 0px #222;
}

nav ul {
	margin: 0;
	padding: 0;
	font-size: 0;	/*Fixes the margin error on inline li's*/
}

nav li {
	display: inline;
	margin: 0px auto;
	font-family: "Raleway", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 100;
	font-size: 14pt;
	text-transform: uppercase;
}

nav a {
	width: 110px;
	line-height: 40px;
	color: #ddd;
	display: inline-block;
	text-align: center;
	text-decoration: none;
}

nav .selected {
	font-weight: 600;
}

nav li a {
	border-right: 1px solid #576979;
}

nav li:last-child a {
	border-right: 0;
}

nav li a:hover,
nav li a:active {
	background-color: #8c99a4;
	color: white;
	box-shadow: 0px 0px 5px 1px #444;
	border-bottom: 1px solid white;
}

nav a#pull {
	display: none;
	background-color: #283744;
	width: 100%;
	position: relative;
	font-family: "Raleway";
	font-weight: 600;
}

nav a#pull:hover {
	text-decoration: none;
	color: white;
}

.navbar-fixed {
	top: 0;
	left: 0;
	z-index: 100;
	position: fixed;
	width: 100%;
}

/* HEADER --------------------------------------------------------------------*/

header {
	color: white;
	background: #23252b;
	padding: 1em 0em 1em 1em;
}

header img {
	float: left;
	display: block;
	margin-left: auto;
	margin-right: auto;
	height: 120px;
}

header div {
	display: inline-block;
	margin-left: 0.5em;
}

header h1 {
	font-family: "Raleway", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 100;
	text-transform: uppercase;
	font-size: 32pt;
	letter-spacing: 0.05em;
	margin: 0;
}

header h2 {
	font-family: "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 700;
	margin: 0 0 1em 0;
	color: #455868;
}

header p {
	margin-bottom: 0;
	font-family: "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 300;
	font-style: italic;
	color: #bbb;
}

/* FOOTER --------------------------------------------------------------------*/

footer {
	margin: 0.5em 0 0 0; padding: 0.5em 0.5em 1.5em 0.5em;
	color: #aaa;
	background: #222;
	font-family: "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 300;
	text-align: center;
}

footer a {
	color: white;
	text-decoration: none;
}

footer a:hover {
	text-decoration: underline;
}

footer button {
	padding: 0.25em 5em;
	font-size: 12pt;
}

/* FLAT BLUE BUTTON ----------------------------------------------------------*/
button, input[type=submit] {
	padding: 0.5em 1em;
	color: white;
	background: #455868;

	border: none;
	border-radius: 5px;
	cursor: pointer;
	vertical-align: middle;

	font-size: 10pt;
	font-family: "Raleway", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 100;
	text-transform: uppercase;
}

button:focus, input[type=submit]:focus {
	outline: none;
	border: none;
}

button:hover, input[type=submit]:hover {
	box-shadow: inset 0px 0px 0px 1px white;
	cursor: pointer;
}

input::placeholder, textarea::placeholder {
	font-style: italic;
	color: #999;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	padding: 0.5em;
	vertical-align: middle;
	border: none;
	outline: none;
	border-radius: 5px;

	font-size: 10pt;
	font-family: "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
	font-weight: 300;
	background: #23252b;
	color: #ddd;
}

/* CONTENT -------------------------------------------------------------------*/

#content {
	background: #eee; 
	border-left: 1px solid #666;
	border-right: 1px solid #666;
	border-bottom: 1px solid #666;
	padding: 10px;
	width: 100%;
	font-family: "PT Sans", sans-serif;
}

/* BLOG POSTS ----------------------------------------------------------------*/
.post {
	width: 90%;
	max-width: 800px;
	padding: 1em;		/* padding inside grey box */
	margin: 2em auto;	/* spacing between posts */
	background: #ccc;
	color: #444;
	box-shadow: 0px 0px 5px 1px #444;
}

h1, h2, h3, h4, h5, h6, .footer, .header {
	font-family: "Lato", sans-serif;
}

.post h1, .post h2, .post h3, .post h4, .post h5, .post h6, .footer, .header {
	margin: 0;
}

.post h1 {
	font-size: 1.75em;
	color: #23252b;
}

.post h2 {
	font-size: 1.33em;
	color: #444;
}

.post h3, h4, h5, h6 {
	color: #222;
}

.post h1 a{
	color: #23252b;
	text-decoration: none;
}

.post h1 a:hover {
	color: #455868;
}

/* Draws the separator line between title and content */
.post .header {
	font-size: 0.85em;
	color: #444;
	border-bottom: 1px solid #444;
	padding-bottom: 0.25em;
	margin-top: 0.25em;
	margin-bottom: 1em;
}

/* Draws the separator line between footer and content */
.post .footer {
	font-size: 0.80em;
	color: #444;
	margin-top: 0.75em;
	margin-bottom: 0;
	padding-top: 0.25em;
	border-top: 1px solid #444;	
}

.post p {
	margin: 0 0 1em 0;
}

.post img {
	width: 100%;
}
.post img.video {
	border-radius: 30px;
}

.post a {
	font-weight: bold;
	text-decoration: none;
	color: #455868;
}

.post a:hover {
	text-decoration: underline;
	color: black;
}


code {
	background: #bbb;
	color: black;
	padding: 0.25em;
	border-radius: 0.25em;
}

/** When hljs fails, this style will take over **/
pre code {
	border-radius: 0;
	-moz-tab-size: 4;
	tab-size: 4;
	background: #23252B;
	display: block;
	overflow-x: auto;
	margin: 0em 1em;
	line-height: 1.33em;
	border: 1px solid white;
}


@media only screen and (max-width : 750px) {
	
	body {
		margin: 0.25em;
	}

	.navbar-fixed {
		top: 0;
		left: 0px;
		z-index: 100;
		position: static;
		width: 100%;
	}

	header {
		padding: 0;
	}

	header img {
		float: none;
		text-align: center;
		display: block;
		height: 100px;
	}

	header div {
		display: block;
		margin: 1em 0 0 0;
		text-align: center;
	}

	header p {
		padding-bottom: 1em;
	}

	nav { 
		height: auto;
		overflow: auto;
	}
	nav ul {
		width: 100%;
		display: block;
		height: auto;
	}
	nav li {
		width: 50%;
		float: left;
		position: relative;
	}
	nav li a {
		border-bottom: 1px solid #576979;
		border-right: 1px solid #576979;
	}
	nav a {
		text-align: left;
		width: 100%;
		text-indent: 25px;
	}

	.inline-modal {
		width: 100%;
	}

	.post {
		width: 95%;
		margin: 2em auto;
		padding: 1em;
		font-size: 0.85em;
		/*box-shadow: 0px 0px 20px 0px #000;*/
	}

	code {
		margin: 0;
		padding: 0.25em;
		tab-size: 2;
		-moz-tab-size: 2;
	}

}

@media only screen and (max-width : 480px) {
	nav ul {
		display: none;
		height: auto;
	}
	nav a#pull {
		display: block;
	}
	nav a#pull:after {
		content:"";
		background: url('../img/icons/nav-icon.png') no-repeat;
		width: 30px;
		height: 30px;
		display: inline-block;
		position: absolute;
		right: 15px;
		top: 10px;
	}
}

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

	header img {
		height: 80px;
	}

	nav li {
		width: 100%;
		float: left;
		position: relative;
	}

	.post {
		width: 100%;
		font-size: 0.75em;
		margin: 3em auto;
		padding: 1em;
	}

	#content h1, h2, .header {
		text-align: center
	}
	
	header h1 {
		font-size: 20pt;
	}
	header h2 {
		font-size: 16px;
	}
	header p {
		font-size: 12px;
	}

	code {
		font-size: 0.75em;
	}

}

