*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
	}
 
html {
	font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;
	font-size:16px;
	}
body {
	background: white
	font:400 2em / 1.5em 'Nunito', sans-serif;
	color:#45484d;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
	margin: 0; 
	}

/* site header */

#header {
	height: auto;
	position: relative;
	}

#header_title {
	position: absolute;
	bottom: 0px;
	}	
	
#header img {
   	width: 100%;
   	height: auto;
	}
	
.site_title {
	font-family:'Fira Sans', sans-serif;text-rendering:optimizeLegibility;color:#FFF;
	text-shadow: 2px 2px 10px #000000;
	font-size:2.5em;
	line-height:1em;
	text-indent:-1px;
	margin:0 0 -0.125em 10%;
	padding: 0;
	}
	
.site_title a {
	text-decoration: none; 
	color:#FFF;
	}

.site_title a:hover {
	text-decoration: none; 
	color:#FFCC66;
	}	
			
/* headings */

h1 {
	font-family:'Fira Sans', sans-serif;text-rendering:optimizeLegibility;color:#000;
	font-size:2em;
	line-height:1em;
	text-indent:-1px;
	margin:0;
	padding: 0 0 .75em 0;
	}
	
h1 a {
	text-decoration: none; 
	color:#000;
	}

h1 a:hover {
	text-decoration: none; 
	color:#000;
	}	

h2 {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#000;
	font-size: 1.25em;
	line-height:1.1em;
	text-indent:-1px;
	margin: 0;
	padding: 0.5em 0 0.1em 0;
	}
	
h3 {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#000;
	font-size: 1.1em;
	line-height:1.1em;
	text-indent:-1px;
	margin: 0;
	padding: 0.5em 0 0.1em 0;
	}	

/* metadata beneath the title */
	
.meta {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#999;
	font-size:.85em;
	margin-top: -1em;
	line-height:1.1em;
	padding-bottom: 1.5em; 
	}	

.meta a {
	text-decoration: none; 
	color:#999;
	}	

.meta a:hover {
	color:#3366CC; 
	}

/* body text */

p {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#000;
	font-size:1em;
	line-height:1.35em;
	margin: 0.5em 0 1em 0;
	}

blockquote {
	font-style: italic;
	margin: 0.5em 0em 0.5em 1.5em;
	color:#CCC;
	}

/* links */

a {
  color:#000;
  text-decoration: underline;
  -webkit-text-decoration-color: #3366CC; /* safari still uses vendor prefix */
  text-decoration-color: #3366CC;
}

a:hover {
	color:#3366CC; 
	}

/* footnotes */

sup {
	font-size: 0.6em;
	line-height: 0;
	}

.footnotes li {
 	font-size: 0.9em;
 	margin-bottom: 0.5em;
	}	

/* footnotes line */		

hr {
  	border-top: 1px solid #3366CC;
	}

/* lists */

li {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#000;
	font-size:1em;
	line-height:1.35em;
	margin:0;
	}

ol, ul {
	padding-left: 1.25em;
	}
	
ol p {
	margin: 0;
	padding: 0;
	}
	
ul p {
	margin: 0;
	padding: 0;
	}		
	
/* images */

img {
	max-width:100%;
	max-height:100%;
	}

figure {
	padding: 0;
	margin: 0;
	text-align:center;
	}

figure img {
	max-width:100%;
	max-height:100%;
	margin-bottom: 0.25em;
	}
	
figure h4 {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#999;
	font-size:.85em;
	font-weight: 400;
	margin-top: 0em;
	line-height:1.1em;
	text-align: center; 
	}	

/* footer */

#footer {  
	padding: 0 1.25em 1.25em 1.25em; 
	margin-bottom: .5em; 
	}
	
#footer p {
	font-family:'Nunito', sans-serif;text-rendering:optimizeLegibility;color:#999;
	font-size:.85em;
	font-weight: 400;
	} 	
	
#footer a { 
	color:#999;	
	}
	
#footer a:hover { 
	color:#3366CC;	
	}	

/* site nav share buttons */

.buttons {
	padding: 1em 0 0 0;
	border-top: 1px solid #3366CC; 
	margin-top: 2em;
	}

.share a {
	display:block;
	width:2em;
	height:2em;
	margin:0.334em 0 0.334em 0.667em;
	padding:0;
	float:left;
	font-size:0.75em;
	line-height:2em;
	text-align:center;
	text-decoration:none;
	color:#fff;
	border-radius:2px;
	transition:all ease 0.3s
	}

.share a:hover {
	background-color:#3366CC;
	}

.share .twitter {
	background-color:#999;
	margin-left: 0;
	}	
	
.cc0 {
	position: relative;
	top: 1px;
	padding-left: 0.5em;
	color:#999;
	font-size: 1.7em;
	}

/* layout */

.container {
	position: relative; 
	margin: 2em .5em .5em .5em;
	}

.post {  
	padding: 0 1.25em 1.25em 1.25em; 
	margin-bottom: .5em; 
	}

/* responsive */
	
@media screen and (min-width: 47.5em ) {	
	.container {
		margin-top: 3em;
		}
	}

@media screen and (min-width: 55em ) {
	.container {
		position: relative; 
		margin: auto;
		margin-top: 3em;
		width: 45em;
		}
	}
	
@media screen and (min-width: 80em ) {	
		.site_title {
		margin:0 0 -0.125em 80%;
		font-size:3.5em;
		}	
	}

@media screen and (min-width: 110em ) {	
		.site_title {
		margin:0 0 -0.125em 150%;
		}	
	}
	