html,body {margin:0;padding:0;}

body {
	font-family: "open-sans",sans-serif;
	color:#212125;
	font-size:17px;
	line-height:1.6;
	background: url(img/line_double-blue.png) 60px repeat-y;
}

h1,h2 {
	font-family: "brandon-grotesque",sans-serif;
	font-weight: 700;
	text-transform:uppercase;
	letter-spacing: 0.2em;
	margin:0 0 1em;
}

h2 {font-size:30px;}

.contain {
	max-width:1080px;
	margin:0 auto;
	overflow: hidden;
}

@media (max-width:1120px){
.contain {
	margin:0 20px;
	max-width: none;
	}	
}

a {
	color:#212125;
	text-decoration: underline;
}

a:hover {color:#121213;}

p a {
	text-decoration: none;
	background-image: linear-gradient(to right, #121213, #121213);
	background-position: 0 1.2em;
	background-repeat: repeat-x;
	background-size: 1px 1px;
}

p a:hover {background-image: linear-gradient(to right, #76bdd1, #76bdd1);}

.cta {
	padding:10px 25px;
	font-size:16px;
	color:#fff;
	background-color:#212125;
	text-decoration: none;
}

.cta:hover {background-color:#d9544d;}

.flex {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    }

.vflex {
	display: flex;
	flex-direction: column;
	justify-content: center;
}



/* Hero */

.hero {background:#76bdd1;}

ul.nav {
	margin:0 0 0 130px;
	padding:0;
	position:absolute;
	right:0;
	top:20px;
	white-space: nowrap;
}

ul.nav li {
	list-style: none;
	display:inline-block;
	text-align: right;
	margin-left:20px;
}

ul.nav a {
	font-family: "brandon-grotesque",sans-serif;
	font-weight: 700;
	text-transform:uppercase;
	letter-spacing: 0.2em;
	color:#fff;
	text-decoration: none;
}

ul.nav a:hover {
	background-image: linear-gradient(to right, #fff, #fff);
	background-position: 0 1.3em;
	background-repeat: repeat-x;
	background-size: 1px 1px;
}

.home .hero {
	background:#76bdd1 url(img/sn-hero.jpg) right no-repeat;
	background-size:contain;
}

.home .hero .contain {
	background:url(img/sublimely-normal.png) left center no-repeat;
	min-height:860px;
}

.hero .contain {
	position: relative;
	max-width:1640px;
	margin:0 auto;
}

@media (max-width:1680px){
.hero .contain {
	margin:0 20px;
	max-width: none;
	}	
}

.hero h1 {margin:0;}

.services .hero .contain,
.article .hero .contain {height:65px;}

.services .hero img,
.article .hero img {
	max-height:100%;
	width:auto;
}

@media (max-width:1340px){
.home .hero {
	background-position:top left;
	background-size:cover;
	}
.home .hero .contain {
	min-height:500px;
	}
}

@media (max-width:800px){
	.services .hero img,.article .hero img {
		width:90px;
		margin-top:9px;
	}
}

@media (max-width:720px){
	.home .hero .contain {
		background-size:contain;
	}	
}

@media (max-width:600px){
ul.nav li:first-child {display:none;} /* Hide Home on Mobile */
ul.nav a {font-size:14px;letter-spacing:0.1em;}
}

@media (max-width:420px){
ul.nav {
	display: flex;
	justify-content: center;
	flex-direction: column;
	height: 65px;
	top:0;
	}	
}




/* Home Intro */

#intro {
	background:url(img/can-you-take-me-higher.jpg) right no-repeat;
	background-size:contain;
}

#intro .contain {padding:150px 0 100px;}

#intro h2 {
	font-size:56px;
	line-height: 1.2;
	margin-bottom:0;
}

#intro h2::first-line {
	font-size:20px;
	letter-spacing: 0.3em;
}

.pre-cta {
	margin-top:100px;
	font-size:16px;
	font-style: italic;
}

@media (max-width:1340px){
#intro {background:none;}
#intro .contain {padding:80px 0;}
.pre-cta {margin-top:2em;}
}

@media (max-width:720px){
#intro h2::first-line {font-size:16px;}
#intro h2 {font-size:28px;}
}



/* Content Blocks */

.content {background:url(img/line_single-blue.png) 95% repeat-y;}

.services .content, .article .content {padding:90px 0;}

.services .content h1,
.article .content h1 {
	font-size:54px;
	line-height: 1.2;
	color:#d9544d;
}

.image-transit {
	height:300px;
	background-size:cover;
	background-position: center;
	background-repeat: no-repeat;
}

ul.menu {
	margin:60px 0;
	padding:0;
}

ul.menu li {
	list-style: none;
	border-bottom:1px solid #76bdd1;
}

ul.menu li a {
	display:block;
	background-image:none;
	text-decoration:none;
	padding:10px 20px;
	font-family: "brandon-grotesque",sans-serif;
	font-weight: 700;
	text-transform:uppercase;
	letter-spacing: 0.2em;
}

ul.menu li.current a {
	background:#76bdd1;
	color:#fff;
}

ul.menu li a:hover {
	background:#d9544d;
	color:#fff;
}


p.quote {
	font-style:italic;
	font-size:24px;
	color:#909092;
	margin:2em 0;
}

p.subnote {
	color:#909092;
	font-style:italic;
	font-size:15px;
	margin:2em 0;
}

@media (max-width:800px){
.image-transit {height:150px;}
.services .content, .article .content {padding:30px 0;}
.services .content h1, .article .content h1 {font-size:36px;}
}

@media (max-width:540px){
.image-transit {display:none;}
}


/* Comparison Tables */

.content table {
	border-collapse: collapse;
	margin:60px 0;
}

.content th {
	font-weight: normal;
	text-align: left;
	border-bottom:1px solid #76bdd1;
	font-size:14px;
	line-height: 1.3;
	padding:10px 30px 10px 10px;
}

.content th b {
	font-family: "brandon-grotesque",sans-serif;
	text-transform:uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	font-size:17px;
}

.content td {
	padding:10px 30px 10px 10px;
	font-size:15px;
	line-height: 1.3;
}

.content tr:nth-child(even) {background: #e5e5e5;}

@media (max-width:600px){
.content table {margin:30px 0;}
}

@media (max-width:540px){
	.content th, .content th b, .content td {
		font-size:12px;
		line-height: 1.2;
		letter-spacing: normal;
	}
	.content th, .content td {
		padding:8px 10px 8px 5px;
	}
}


/* 50/50 Blocks */

.block50 {width:50%;}

.block50.image {
	background:#212125;
	text-align: center;
}

.block50.image img {
	width:538px;
	max-width:100%;
	height:auto;
	margin:100px auto;
}

.block50 .contain {margin:60px 40px;}

.block50 p {max-width:520px;}

@media (max-width:1100px){
.block50 {width:100%;}
.block50 p {max-width:none;}
.block50.image img {margin:40px auto;}
}

/* Articles */

.article .content h1 {
	text-align: center;
	color:#212125;
}

span.article-details {
	font-style: italic;
	font-size:14px;
	text-align: center;
	margin-bottom:60px;
	display:block;
}

.article p:first-of-type:first-letter {
  color: #d9544d;
  float: left;
  font-family: "brandon-grotesque",sans-serif;
  font-size: 90px;
  line-height: 60px;
  padding-top: 12px;
  padding-right: 8px;
  padding-left: 3px;
}


/* Footer */

footer {background: #d9d9d9 url(img/line_double-blue.png) 60px repeat-y;}

footer .contain {
	background:url(img/bg_life-is-a-marathon.png) right no-repeat;
	text-align: center;
	padding:200px 0 50px;
	max-width:1640px;
	margin:0 auto;
}

@media (max-width:1680px){
footer .contain {
	margin:0 20px;
	max-width: none;
	}	
}

footer .notes {
	margin-top:150px;
	text-align: right;
	font-size:12px;
}

@media (max-width:1340px){
.content, body, footer {background-image:none;}
}

@media (max-width:1024px){
footer .contain {
	background-image:none;
	padding:60px 0;
	}
footer .notes {
	margin-top:2em;
	text-align: center;
	}
}


/* Misc */
::-moz-selection {background: #76bdd1; color:#fff;}
::selection {background: #76bdd1; color:#fff;}