/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}
article,
blockquote,
div,
figure,
footer,
form,
header,
h1,
h2,
h3,
h4,
h5,
h6,
img,
li,
nav,
p,
section,
ul,
video {
	margin:0;
	padding:0;
}
img {
	width:auto;
	height:auto;
	max-width:100%;
}
/* ==========================================================================
   Basic Typography
   ========================================================================== */

body {
	line-height:1.5em;
	color:#333;
	font-family: "proxima-nova",sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1.3125em;
	line-height: 1em;
	font-weight: bold;
	color: #333;
}
a,
p,
ul,
figcaption {
	font-size:0.875em;
	color:#333;
}
a {
	text-decoration:underline;
	-o-transition: color .25s, opacity .25s, background-color .25s;
	-ms-transition:color .25s, opacity .25s, background-color .25s;
	-moz-transition:color .25s, opacity .25s, background-color .25s;
  	-webkit-transition:color .25s, opacity .25s, background-color .25s;
	transition:color .25s, opacity .25s, background-color .25s;
}
.no-touch a:hover {
	color:#00cc99;
}
p a,
ul a,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	font-size:1em;
}
p,
ul {
	padding-bottom:1.5em;
}
blockquote *:last-child {
	padding-bottom:0;
}
strong {
	font-weight:700;
}
blockquote {
	display: block;
	padding-left: 0.875em;
	border-left: 0.4375em solid #ccc;
	padding-bottom: 0;
	margin-bottom: 1.5em;
}
figcaption {
	font-size: 1em;
	color: #888;
	padding-top: 0.25em;
	font-style:italic;
}
/* ==========================================================================
   Main Containers
   ========================================================================== */

body {
	background-image: url('../img/main-bg.png');
	background-position: center;
}
.outer-site-wrapper {
	max-width: 59.0625em;
	margin: 0 auto;
	overflow: hidden;
}
@media only screen and (min-width: 48em) {
	.outer-site-wrapper {
		padding:0 1.75em;
	}
}
.left-column {
	background-color: #333;
	padding: 0.75em 0 0 0;
}
@media only screen and (min-width: 48em) {
	.left-column {
		width: 10.0625em;
		padding: 2.375em 2.625em 0 0;
		float: left;
		position: relative;
		display:inline-block;
	}
}
.right-column {
	background-color: #f3f3f3;
	margin-bottom: -9999px;
	padding:0 0.875em 9999px 0.875em;
	position:relative;
	overflow:hidden;
}
@media only screen and (min-width: 48em) {
	.right-column {
		padding: 0 0 9999px 2.625em;
	}
}
/* ==========================================================================
   Sidebar
   ========================================================================== */

#side-bar h2,
#side-bar h4 {
	padding: 0 0 0.8125em;
	color:#fff;
	font-size:0.875em;
}
#side-bar ul {
	padding: 1.125em 0 0.25em 0;
}
@media only screen and (min-width: 48em) {
	#side-bar ul {
	
	}
}
#side-bar li {
	padding-bottom: 1em;
	line-height: 1em;
}
#side-bar a {
	color: #ccc;
	line-height: 1em;
	display: inline;
	text-decoration:none;
}
.no-touch #side-bar a:hover,
#side-bar a.current {
	color:#00cc99;
}
#side-bar #subscribe,
#side-bar #follow-nav {
	display:none;
	padding: 1em 0em 1.25em;
}
@media only screen and (min-width: 48em) {
	#side-bar #subscribe,
	#side-bar #follow-nav {
		display:block;
	}
}
/* ==========================================================================
   Site Header
   ========================================================================== */
   
#site-header h1 {
	font-size:1em;
	padding:0 0 0.5625em 0.875em;
}
@media only screen and (min-width: 48em) {
	#site-header h1 {
		padding:0 0 1.25em 0;
		border-bottom: 1px solid #222;
	}
}
#site-header h1 a {
	display: block;
	width: 9.125em;
}
@media only screen and (min-width: 48em) {
	#site-header h1 a {
		width:auto;	
	}
}
.no-touch #site-header h1 a:hover {
	opacity:0.5;
}
#site-header h2 {
	display:none;
	border-bottom: 1px solid #222;
	border-top: 1px solid #444;
	padding: 1.625em 0 1.1825em;
}
@media only screen and (min-width: 48em) {
	#site-header h2 {
		display:block;
	}
}

/* ==========================================================================
   Site Navigation
   ========================================================================== */
   
#side-bar #menu-button {
	font-size: 1em;
	height: 1.25em;
	width: 2em;
	position: absolute;
	top: 1.125em;
	right: 0.875em;
	display: block;
	overflow:hidden;
}
@media only screen and (min-width: 48em) {
	#side-bar #menu-button {
		display:none;
	}
}	
#side-bar #menu-button div {
	height: 0.25em;
	margin-bottom: 0.25em;
	width: 100%;
	background-color: #fff;
	border-radius: 0.3125em;
}
#site-nav {
	padding: 0 0.875em;
	background-color: #333;
	border-top: 1px solid #222;
}
@media only screen and (min-width: 48em) {
	#site-nav {
		border-top: 1px solid #444;
		border-bottom: 1px solid #222;
		padding:0;
	}
}
#js #site-nav {
	display:none;
}
@media only screen and (min-width: 48em) {
	#js #site-nav {
		display:block;
	}
}

/* ==========================================================================
   Subscribe
   ========================================================================== */
   
#subscribe {
	border-bottom: 1px solid #222;
	border-top: 1px solid #444;
}
#subscribe label {
	display:none;
}
#subscribe input {
	font-size: 0.75em;
	line-height: 1em;
	height: 1.75em;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0.125em 0.375em;
	width: 100%;
	background-color: #2b2b2b;
	color: #888;
	font-family: "proxima-nova",sans-serif;
	border: none;
	outline: 0;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}
#subscribe input[type="submit"]  {
	display:none;
}

/* ==========================================================================
   Follow Nav
   ========================================================================== */
   
#follow-nav {
	border-top: 1px solid #444;
}
#follow-nav h4 {
	padding-bottom:0;
}

/* ==========================================================================
   Page Content
   ========================================================================== */

#page-content > header {
	border-bottom: solid 1px #ccc;
	margin: 0 0 -1px 0;
	padding:2.4375em 0 1.9375em;
}
#page-content > header h1 {
	font-family: "proxima-nova-alt-condensed",sans-serif;
	font-size: 1.9375em;
	line-height: 0.91em;
	text-transform: uppercase;
}
#page-content article {
	padding: 0 0 0.9375em 0;
	border-bottom: solid 1px #ccc;
	margin: 0 0 -1px 0;
}

/* ==========================================================================
   Post Entry
   ========================================================================== */

.entry-header {
	padding-top: 1.8125em;
	padding-bottom: 1.1825em;
}
.single-post .entry-header {
	padding: 2.4375em 0 1.4375em;
}
@media only screen and (min-width: 48em) {
	.single-post .entry-header {
		padding: 2.25em 0 2.0625em;
		margin-bottom:1.25em;
		border-bottom:1px solid #ccc;
	}
}
@media only screen and (min-width: 48em) {
	.single-post .entry-header {
		padding: 2.4375em 5em 2.3125em 0;
	}
}   
.entry-header a,
.entry-meta a {
	text-decoration:none;
}
.no-touch .entry-header a:hover {
	color:#00cc99;
}
.entry-meta {
	display:none;
}
@media only screen and (min-width: 48em) {
	.entry-meta {
		width: 30%;
		float: left;
		display:inline-block;
	}
}
.entry-meta p {
	padding-bottom:0;
}
@media only screen and (min-width: 48em) {
	.entry-content {
		float: right;
		width: 64%;
	}
}
.featured-content .entry-content {
	float: none;
	width: auto;
}
.post-thumb,
.single-post figure {
	margin-bottom: 0.875em;
	font-size:0.875em;
	display:block;
}
.no-touch .post-thumb:hover {
	opacity:0.5;
}
.intro p {
	font-size: 1em;
	font-weight: 600;
}
.intro figure {
	margin-bottom:1.5em;
}
.video-wrapper {
	position:relative;
	display:block;
}
.video-wrapper iframe,
.video-wrapper object {
	position:absolute;
	height:100%;
	width:100%;
	left:0;
	top:0;
}
/* ==========================================================================
   Post Navigation
   ========================================================================== */
   
.post-navigation {
	padding-top: 0.0625em;
	padding-bottom: 1.6875em;
	text-align: left;
	border-bottom:solid 1px #ccc;
	margin-bottom:1.25em;
}
@media only screen and (min-width: 48em) {
	.post-navigation {
		position: absolute;
		top: 2.1825em;
		right: 0;
		width: 5em;
		height: 1.75em;
		text-align: right;
		padding-top:0;
		border-bottom:none;
		margin-bottom:0;
	}
}
.post-navigation a {
	margin: 0 0.25em 0 0;
	display: inline-block;
	background-color: #333;
	position: relative;
	height:1.75em;
	width:2em;
	background-position:center;
	background-repeat:no-repeat;
	font-size:1em;
}
@media only screen and (min-width: 48em) {
	.post-navigation a {
		margin: 0 0 0 0.25em;
	}
}
.no-touch .post-navigation a:hover {
	background-color:#00cc99;
}
.post-navigation a.nav-previous {
	background-image: url('../img/nav-left.png');
	background-position: 0.6875em;
}
.post-navigation a.nav-next {
	background-image: url('../img/nav-right.png');
}

/* ==========================================================================
   Pagination
   ========================================================================== */
   
.pagination {
	padding: 2.1875em 0 2.1875em 0;
	height: 1.75em;
	margin: 0;
	display: block;
	text-align: right;
}
.pagination a,
.pagination span {
	min-width: 1.6em;
	height: 100%;
	display: inline-block;
	background-color: #333;
	color: #fff;
	text-align: center;
	font-size: 0.875em;
	padding: 0 0.3em;
	text-decoration: none;
	margin: 0 0 0 0.25em;
	position: relative;
	line-height: 2.125em;
	top: 0;
	font-weight: 600;
}
.pagination .current, 
.no-touch .pagination a:hover {
	background-color: #00cc99;
	color: #fff;
}

/* ==========================================================================
   Site Footer & Legal Footer
   ========================================================================== */

#site-footer,
#legal-footer {
	background-image: url('../img/footer-bg.png');
	background-position: center;
}
#legal-left,
#footer-left {
	background-color:#111;
}
#footer-left {
	display:none;
	padding-top: 1.9375em;
}
@media only screen and (min-width: 48em) {
	#footer-left {
		display:block;
	}
}
.no-touch #footer-left a:hover {
	opacity:0.5;
}
#footer-right,
#legal-right {
	background-color:#222;
	padding-top: 2.0625em;
}
@media only screen and (min-width: 48em) {
	#about-footer {
		float: left;
		position: relative;
		width: 64%;
	}
}
#links {
	padding-bottom: 1.3125em;
}
@media only screen and (min-width: 48em) {
	#links{
		float: right;
		position: relative;
		width: 30%;
		padding-bottom: 0;
	}
}
#site-footer h4 {
	color: #fff;
	font-size: 1em;
	line-height: 1.3125em;
	padding-bottom: 0.5625em;
}
#links h4 {
	padding-bottom:1em;
}
#site-footer p {
	font-size: 0.75em;
	line-height: 1.75em;
	color: #fff;
	padding-bottom: 1.75em;
}
#links a {
	font-family: "proxima-nova",sans-serif;
	font-size: 0.75em;
	width: 100%;
	min-height: 2.1875rem;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-image: url('../img/button.png');
	background-position: right;
	background-repeat: repeat-y;
	color: #fff;
	line-height: 1em;
	text-transform: uppercase;
	display: block;
	padding: 1em 5.375em 1em 1em;
	text-decoration:none;
	-moz-background-size: auto 2.1875rem;
	-ms-background-size: auto 2.1875rem;
	-o-background-size: auto 2.1875rem;
	-webkit-background-size: auto 2.1875rem;
	background-size: auto 2.1875rem;
}
.no-touch #links a:hover {
	color:#00cc99;
}  
#legal-left {
	padding:1em 0.75em 0;
}
@media only screen and (min-width: 48em) {
	#legal-left {
		padding:0 2.625em 0 0;
	}
}
#legal-right {
	display:none;
	padding-top:0;
}
@media only screen and (min-width: 48em) {
	#legal-right {
		display:inline-block;
	}
}
#legal-footer p {
	color: #777;
	font-family: "proxima-nova",sans-serif;
	font-size: 0.6875em;
	padding: 0.25em 0 1.5625em;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}
