@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600);
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,700italic,900);
@import url(https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css);

/* Reset */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary {
	display:block
}

html,body {
	line-height: 1;
}

ol,ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,th,td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q,blockquote {
	quotes: none;
}

q:before,q:after,blockquote:before,blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

/* Basics */

div.clear {
  clear: both;
}

html {
	height: 100%;
}

body {
	color: #444;
	background-color: #fff;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	text-rendering: optimizeLegibility;
	font-family: "Source Sans Pro";
	font-weight: 700;
}

ul {
	list-style-type: disc;
}

ol {
	list-style-type: decimal;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

del, s {
	text-decoration: line-through;
}

a {
	color: #818181;
}

a:visited {
	color: #818181;
}

a:focus {
	color: #dd4000;
}

a:hover {
	color: #dd4000;
}

a:active {
	color: #dd4000;
}

.icon {
	text-rendering: geometricPrecision !important;
}

#content {
	max-width: 700px;
	margin: auto;
	padding: 0 18px 0 18px;
}

audio {
	margin: 9px 0 18px 0;
}

/* Site header */

#top {
   	background-color: #fff;
}

#top-content {
	max-width: 700px;
	margin: auto;
	padding: 36px 0 9px 0;
    color: #fff;
}

#top-content a {
    border: 1px solid #dd4000;
	border-radius: 2px;
	text-decoration: none;
    font-weight: 600;
	font-size: 12px;
	margin: 0;
	padding: 1px 9px;
	text-transform: uppercase;
}

#top-content .space-right {
	margin-right: 0px;
}

#top-content a.button, #top-content a.inverse-button:hover {
	background-color: #fff;
    color: #dd4000;
}

#top-content a.button:hover, #top-content a.inverse-button {
	background-color: #dd4000;
	color: #fff;
}

#top-content a .icon {
    font-size: 14px;
	line-height: 14px;
    padding-right: 4px;
}

#top-content .nav-links {
	float: left;
}

#top-content .media-links {
	float: right;
}

@media all and (max-width: 736px) {
	#top-content {
		padding: 9px;
	}
}

@media all and (max-width: 550px) {
    #top-content .media-links {
		float: none;
		clear: both;
		padding-top: 9px;
    }
}

/* Site footer */

#site-footer {
	margin-top: 180px;
	padding-bottom: 36px;
}

#site-footer #copyright {
	color: #a0a0a0;
	font-size: 12px;
	line-height: 14px;
	margin-top: 18px;
	text-align: center;
	text-transform: uppercase;
}

/* Blog post */

header.post {
	padding: 120px 0 0 0;
	margin-bottom: 54px;
}

header.post h1 {
	color: #000;
	font-size: 72px;
	line-height: 81px;
	letter-spacing: -1.5px;
}

header.post #meta {
	color: #a0a0a0;
	font-size: 14px;
	line-height: 14px;
	margin-top: 18px;
}

header.post #meta .date {
	text-transform: uppercase;
}

header.post #meta .reading-time {
	padding-left: 18px;
}

@media all and (max-width: 736px) {
	header.post {
		padding: 54px 0 0 0;
		margin-bottom: 18px;
	}

	header.post h1 {
		font-size: 36px;
		line-height: 40px;
		letter-spacing: -1px;
	}

	header.post #meta {
		margin-top: 9px;
	}
}

@media all and (max-width: 736px) {
	#toc {
		display: none;
	}
}

#toc {
    margin-bottom: 36px;
    display: none;
}

#toc h3 {
	font-size: 18px;
	line-height: 24px;
}

#toc a {
	text-decoration: none;
}

#toc a:hover {
	text-decoration: underline;
}

#toc ul {
	list-style-type: none;
}

#toc ul li ul {
}

#toc ul li {
    font-size: 15px;
    line-height: 21px;
}

#toc ul li ul li {
	margin-left: 0px;
}

#toc ul li ul li ul li {
	margin-left: 21px;
}

article.post h2 {
	color: #000;
	font-size: 36px;
	line-height: 48px;
	letter-spacing: -1px;
	margin-top: 54px;
	margin-bottom: 18px;
}

article.post h3 {
	color: #000;
	font-size: 27px;
	line-height: 36px;
	letter-spacing: -1px;
	margin-top: 54px;
	margin-bottom: 18px;
}

article.post h4 {
	color: #000;
	font-size: 18px;
	line-height: 24px;
	margin-top: 36px;
	margin-bottom: 9px;
}

article.post p {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 18px;
}

article.post ul, article.post ol {
    margin-bottom: 18px;
}

article.post li {
    font-size: 18px;
    line-height: 27px;
	margin-left: 36px;
	margin-bottom: 9px;
}

article.post blockquote {
	color: #888;
	font-style: italic;
	padding: 9px 36px;
	position: relative;
}

article.post blockquote:before {
	display: block;
	position: absolute;
	left: 4px;
	top: 4px;
	font-family: Georgia, serif;
	font-size: 54px;
	color: #bbb;
	content: "\201C";
}

article.post p code, article.post tt, article.post li code {
	color: #222;
	font-family: Menlo, "Lucida Console", monospace;
	font-size: 16px;
	line-height: 18px;
	border: #eee 1px solid;
	border-radius: 2px;
	padding: 1px 3px;
}

article.post pre {
	border-radius: 4px;
	padding: 9px 12px;
	margin-top: 18px;
	margin-bottom: 18px;
	background-color: #f9f9f9;
}

article.post pre, article.post pre code {
	color: #000;
	font-family: Menlo, "Lucida Console", monospace;
	font-size: 14px;
	line-height: 20px;	
}

@media all and (max-width: 736px) {
	article.post pre, article.post pre code {
		font-size: 12px;
		line-height: 14px;	
	}
}

article.post pre code.language-nohighlight {
	color: #222;
	display: block;
	overflow-x: auto;
	-webkit-text-size-adjust: none;	
}

article.post figure.image {
	text-align: center;
	margin-top: 36px;
	margin-bottom: 36px;
}

article.post figure.image img {
	max-width: 100%;
}

article.post div.note {
	border: #80d080 1px solid;
	background-color: #fff;
	border-radius: 4px;	
	margin-bottom: 18px;
	padding: 9px 9px 0 9px;
}

article.post div.note p {
	font-size: 15px;
	line-height: 18px;
    margin-bottom: 9px;
	color: #408040;
}

article.post div.note p a {
	color: #408040;
}

article.post div.note code {
	border: 0;
	color: #408040;
	font-size: 14px;
	padding: 0 1px;
}

article.post div.note-update {
	border: #00a0f0 1px solid;
	background-color: #fff;
	border-radius: 4px;	
	margin-bottom: 18px;
	padding: 9px 9px 0 9px;
}

article.post div.note-update p {
	font-size: 15px;
	line-height: 18px;
    margin-bottom: 9px;
	color: #0060a0;
}

article.post div.note-update p a {
	color: #0060a0;
}

article.post div.note-update code {
	border: 0;
	color: #0060a0;
	font-size: 14px;
	padding: 0 1px;
}

article.post div#byline {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 18px;
	margin-top: 54px;
}

article.post div#byline:before {
	content: '';
	display: block;
	width: 150px;
	height: 4px;
	border-top: 1px solid #ccc;
}

article.post div#byline a.hire {
	text-decoration: underline;
    font-weight: 600;
	margin: 0;
	padding: 0px 2px;
}

article.post div#byline a.hire {
	background-color: #fff;
    color: #dd4000;
}

article.post div#byline a.hire:hover {
	background-color: #dd4000;
	color: #fff;
}

article.post div#blog-upsell {
	background-color: #f0faff;
    margin-top: 48px;
	padding: 18px 36px;
	border-radius: 12px;
}

article.post div#blog-upsell h3 {
    margin-top: 18px;
	color: #4c677b;
}

article.post div#blog-upsell p {
	color: #4c677b;
}

article.post div#blog-upsell a {
	color: #0080dd;
	text-decoration: none;
}

article.post div#blog-upsell a:hover {
	color: #0080dd;
	text-decoration: underline;
}

article.post table {
    margin-top: 36px;
    margin-bottom: 36px;
  	margin-left: 54px;
}

article.post th {
	font-weight: 600;
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 18px;
    padding: 0px 18px;
    border-bottom: 2px solid #222;
}

article.post td {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 18px;
    padding: 0px 18px;
}

footer.post {
	margin: 108px 0 180px 0;
}

footer.post h3 {
	color: #000;
	font-size: 27px;
	line-height: 36px;
	letter-spacing: -1px;
	margin-bottom: 18px;
}

/* Links at bottom of blog post */

#read-more span.date {
	color: #808080;
}

#read-more a {
	text-decoration: none;
}

#read-more a:hover {
	text-decoration: underline;
}

#read-more div.link {
	font-size: 18px;
	line-height: 21px;
	margin-bottom: 18px;
}

#read-more span.date {
	font-size: 14px;
	text-transform: uppercase;
}

a.big-button {
	display: inline-block;
	background-color: #0080dd;
	border: 1px solid #0080dd;
	color: #fff;
	border-radius: 6px;
	text-decoration: none;
	font-size: 21px;
	line-height: 28px;
	padding: 9px 18px;
	margin: 0;
}

a.big-button:hover {
	text-decoration: none;
	background-color: transparent;
	color: #0080dd;
	border: 1px solid #0080dd;
}

a.big-button:active {
	color: #004080;
	border-color: #004080;
}

/* Blog archive page */

#blog-links h1 {
	text-transform: uppercase;
}

#blog-links .title {
	font-size: 24px;
    line-height: 36px;
}

#blog-links .extra {
	font-size: 14px;
	line-height: 21px;
	margin-bottom: 36px;
}

#blog-links a {
	text-decoration: none;
	color: #000;
}

#blog-links a:focus {
	color: #dd4000;
}

#blog-links a:hover {
	color: #dd4000;
	text-decoration: underline;
}

#blog-links a:active {
	color: #dd4000;
}

#blog-links span.date {
	color: #808080;
	text-transform: uppercase;
}

#blog-links span.summary {
	color: #808080;
}

@media all and (max-width: 736px) {
	#blog-links .title {
		font-size: 18px;
		line-height: 24px;
	}

	#blog-links .extra {
		font-size: 14px;
		line-height: 18px;
		margin-bottom: 18px;
	}
}

/* Home page */

#home-page h1 {
	color: #333;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: -1px;
	margin-bottom: 36px;
	text-align: center;
}

#home-page p {
	color: #444;
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 18px;
}

#home-page ul {
	list-style: disc;
	margin-bottom: 0;
}

#home-page li {
    font-size: 18px;
    line-height: 27px;
	margin-left: 36px;
}

#home-page li:last-child {
	margin-bottom: 0px;
}

#home-page a {
	color: #0080dd;
	text-decoration: none;
}

#home-page a:hover {
	color: #0080dd;
	text-decoration: underline;
}

#home-page .panel {
	padding: 120px 0;
}

#welcome {
	padding-bottom: 120px;
	text-align: center;
	background: #191919;
}

#welcome #links {
	padding-top: 36px;
	padding-bottom: 120px;
	text-align: right;
}

#welcome #links a {
	color: #fff;
	text-decoration: none;
    font-weight: 600;
	font-size: 12px;
	margin: 0;
	padding: 1px 9px;
	text-transform: uppercase;
}

#welcome #links a:hover {
	color: #fff;
	text-decoration: underline;
}

#welcome h1 {
	color: #fff;
	font-size: 72px;
	font-weight: 900;
	line-height: 81px;
	letter-spacing: -1.5px;
	letter-spacing: 6px;
	margin-bottom: 36px;
	text-transform: uppercase;
}

#welcome h2 {
	color: #fff;
	font-size: 27px;
	font-weight: 400;
	line-height: 36px;
	letter-spacing: -1px;
	max-width: 600px;
	margin: 0 auto 18px;
}

#welcome img {
	width: 512px;
	margin-bottom: 36px;
}

#why {
	text-align: center;
	background-color: #fff;
}

#why h1 {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

#why h3 {
	color: #222;
	text-align: center;
	text-transform: uppercase;
	font-size: 21px;
	font-weight: 900;
	line-height: 24px;
	letter-spacing: 2px;
	padding-top: 18px;
	margin-bottom: 18px;
}

#why ul {
	text-align: left;
}

#why li {
	color: #777;
	margin-bottom: 9px;
	list-style-type: square;
}

#why .column {
	margin-bottom: 18px;
}

#how {
	background-color: #f0faff;
}

#how p, #how li, #how h1 {
	color: #4c677b;
}

#how li {
	margin-top: 36px;
	margin-bottom: 24px;
	list-style-type: square;
}

#how ul {
	margin-bottom: 40px;
}

#how a.big-button {
	color: #fff;
}

#how a.big-button:hover {
	text-decoration: none;
	color: #0080dd;
}

#how a.big-button:active {
	color: #004080; 
}

#how .button-row {
	padding-top: 18px;
	text-align: center;
}

#home-page #upsell {
	background-color: #f8fcff;
}

#home-page #upsell figure.image {
	text-align: center;
	margin-top: 36px;
	margin-bottom: 36px;
}

#home-page #upsell figure.image img {
	max-width: 100%;
}

#home-page #upsell ul {
    margin-bottom: 18px;
}

#about {
	background-color: #fff;
}

#about h3 {
	color: #222;
	text-align: center;	
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 900;
	line-height: 42px;
	letter-spacing: 1px;
	padding-top: 9px;
	margin-bottom: 18px;
}

#about p {
	max-width: 600px; 
	margin: 0 auto; 
	text-align: center;
}

#home-page #read-more {
	background-color: #fafafa;
	/*border-top: 1px solid rgba(0, 0, 0, 0.1);*/
}

#read-more a {
	color: #818181;
}

#read-more a:hover {
	color: #dd4000;
}

#read-more a.inverse-button {
	display: inline-block;
	background-color: transparent;
	border: 1px solid #0080dd;
	color: #0080dd;
	border-radius: 4px;
	text-decoration: none;
	font-size: 14px;
	line-height: 14px;
	font-weight: 600;
	padding: 6px 12px;
	margin: 0;
}

#read-more a.inverse-button:hover {
	background-color: #0080dd;
	border: 1px solid #0080dd;
	color: #fff;
}

#read-more a.inverse-button:active {
	background-color: #004080;
	border-color: #004080;
	color: #fff;
}

#home-page .inset {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 18px 0 18px;
}

#home-page .headshot {
	width: 150px;
	height: 150px;
	border-radius: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	display: block;
}

.column {
	float: left;
	margin-right: 4%;
	position: relative;
	width: 48%;
}

.last {
	clear: right;
	margin-right: 0;
}

@media all and (max-width: 736px) {
	#home-page .panel {
		padding: 60px 0;
	}

	#home-page h1 {
		font-size: 48px;
		line-height: 54px;
		letter-spacing: -1px;
	}

	#welcome {
		padding-bottom: 60px;
	}
	
	#welcome img {
		width: 368px;
	}

	#welcome #links {
		padding-top: 9px;
		padding-bottom: 40px;
	}

	#welcome h1 {
		margin-bottom: 24px;
	}
	
	#welcome h2 {
		font-size: 24px;
		line-height: 27px;
		max-width: 516px;
	}	
}

@media all and (max-width: 480px) {
	#home-page .panel {
		padding: 48px 0;
	}
	
	#home-page h1 {
		font-size: 36px;
		line-height: 40px;
		letter-spacing: -1px;
	}

	#welcome {
		padding-bottom: 48px;
	}

	#welcome img {
		width: 256px;
	}

	#welcome h2 {
		font-size: 21px;
		line-height: 24px;
	}

	#why .column {
		float: none;
		width: 100%;
		margin-bottom: 0px;
	}
}
