/* RESET */

div,span,object,input,textarea,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,button,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;outline:0;vertical-align:baseline;position:relative;-webkit-text-size-adjust:100%;}
html, body {height:100%;-webkit-text-size-adjust: 100%;}
body{position:relative;border:0;margin:0;padding:0;background-color:#333333;}
body,td,input,textarea{font-family:Nunito,Helvetica,arial,sans-serif;font-size:16px;font-weight:300;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ol,ul{list-style:none;list-style-type:none;margin:0;padding:0;}
blockquote,q{quotes:none;}
cite{font-style:normal;font-weight:700;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
table{display:table;border-collapse:collapse;border-spacing:0;}
tr{display:table-row;}
th,td{display:table-cell;width:auto;}
p{padding:0;margin:0;}
q:before,q:after{content:"";}
u{text-decoration:underline;}
b{font-weight:700;}
em{font-style:italic;}
em.bullet{margin:0 5px;}
em.arrow{font-style:normal;}
data{display:none;}
.nobr{white-space:nowrap;}
a{color:#0a8ecc;text-decoration:none;}
a:hover{text-decoration:underline;}
p+p{margin-top:15px;}
ul.actual-list{list-style-type:disc;margin-top:8px;margin-bottom:8px;}
ul.actual-list li{list-style-position:inside;margin-left:1.5em;text-indent:-1.5em;}
ul.actual-list li+li{margin-top:5px;}
ol{list-style-type:decimal;}
ol ol{list-style-type:lower-alpha;}
ol ol ol{list-style-type:lower-roman;}
ol ol ol ol{list-style-type:upper-alpha;}
ol ol ol ol ol{list-style-type:upper-roman;}
ol[type="A"]{list-style-type:upper-alpha !important;}
ol[type="a"]{list-style-type:lower-alpha !important;}
ol[type="I"]{list-style-type:upper-roman !important;}
ol[type="i"]{list-style-type:lower-roman !important;}
ol li{list-style-position:inside;margin-left:1.5em;text-indent:-1.5em;margin-top:5px;}
ol li+li{margin-top:15px;}
ol ol li+li{margin-top:5px;}
ol+p,ul.actual-list+p,.user-content ul+p,p+ol,p+ul.actual-list{margin-top:15px;}
p+h2,p+h3,h2+h3,ul+h2,ul+h3,*+.cols{margin:40px 0;}
img.float-right{float:right;width:100px;margin-left:20px;margin-bottom:20px;}
img.float-left{float:left;width:100px;margin-right:20px;margin-bottom:20px;}
blockquote{margin:20px 40px;text-indent:0;}
.smallcaps{font-variant: small-caps;font-size:0.9em;}

/* STRUCTURE */

.page-content .divider {
	margin:50px auto;
	font-size:0;line-height:0;
	border-top:1px solid #E5E5E5;
}
@media (max-width:600px) {
	.page-content .divider {
		margin:30px auto;
	}
}
.stripe {
	padding:6vw 30px;
	background-color:white;
}
@media (max-width:400px) {
	.stripe {
		padding:30px;
	}
}
.restrict>div,.restrict>h1{
	max-width:1200px;
	margin-left:auto;margin-right:auto;
}

.cols,.content-cols {
	display:table;
	width:100%;
}
.row,.content-row {
	display:table-row;
}
.col,.content-col {
	display:table-cell;
	vertical-align:top;
}
.col-right, .col-left {
	width: 35%;
}
.cols-nav>.col-left {
	width: 200px;
}
.content-col-right,.content-col-left {
	width: 100px;
}
.content-col-left img {
	width: 100%;
}
.content-row>.content-col {
	padding-bottom:30px;
}
.col-main {
	width: 61%;
	padding-right:4%;
}
.cols-nav>.col-main {
	width: auto;
}
.col-left+.col-main,.content-col-left+.content-col-main {
	padding-left:4%;padding-right:0;
}
.col-main p,.content-col-main p {
	width:100%;
}
.col>*+*,.content-col>*+*{margin-top:30px;}
.page-content .content-col>h3{margin-bottom:10px;}
.page-content .content-col>h3+p{margin-top:10px;}
@media (max-width:950px) {
	.cols,.cols .row,.cols .col,.cols .col.col-right,.cols .col.col-main,.cols .col.col-left {
		display:block;
		width:100%;
		padding-right:0;padding-left:0;
	}
	.cols .col.col-main {
		margin-bottom:30px;
	}
}
@media (max-width:400px) {
	.content-cols,.content-row,.content-col,.content-cols .content-col-right,.content-cols .content-col-main,.content-cols .content-col-left {
		display:block;
		width:100%;
		padding-right:0;padding-left:0;
	}
	.content-col-left,.content-col-main {
		margin-bottom:30px;
	}
}


/* FORMATTING */

.legal {
	min-height:200px;
}
.legal b {
	font-weight:normal;color:#003366;
}
.fullwidth { width: 100% }
.center-center {
  top: 50%;
  transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);
	vertical-align:center;text-align:center;
}
.stripe-blurb {
	padding:100px 40px;
	box-sizing:border-box;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:21px;color:white;text-align:center;
}
.stripe-blurb.big-text {
	font-size:28px;
}
@media (max-width:900px) {
	.stripe-blurb {
		padding:10vw 4vw;
		font-size:2.3vw;
	}
	.stripe-blurb.big-text {
		font-size:3.2vw;
	}
}
@media (max-width:650px) {
	.stripe-blurb {
		font-size:15px;
	}
	.stripe-blurb.big-text {
		font-size:18px;
	}
}


/* NAV */

#nav {
	box-sizing:border-box;
	padding:40px 20px;
}
#nav .content {
	height:70px;
}
#menu-closer{display:none;}
#header-line {
	position:absolute;
	top:39px;left:0;height:1px;width:100%;
	background-color:black;
	font-size:0;line-height:0;
}
#logo,#logo img {
	height:70px;width:300px;
	border:0;
}
#logo-alt {
	display:none;
}
#header-rows {
	position:absolute;
	top:0;right:0;width:100%;
}
#header-menu-icon {
	display:none;
}
.header-row {
	position:absolute;
	top:12px;right:0;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:15px;
}
#header-row-2 {
	top:47px;
}
.header-row a+a {
	margin-left:20px;
}
#header-row-1 a {
	color:#666666;
}
#header-row-2 a {
	color:black;
}
#header-row-1 a:last-child {
	color:#0a8ecc;
}
@media (max-width:1100px) {
	.header-row {
		font-size:13px;
	}
	#header-row-2 {
		top:49px;
	}
}
@media (max-width:960px) {
	#wholepage {padding-top:55px;}
	#nav {
		position:fixed;z-index:10;
		top:0;left:0;width:100%;
		padding:10px;
		box-shadow:0 0 10px 10px rgba(0,0,0,0.2);
	}
	#nav .content { height:35px; }
	#logo{display:none;}
	#logo-alt{display:block;height:35px;width:225px;}
	#logo-alt img{height:31px;width:199px;margin:2px 0}
	#header-line{display:none;}
	#header-menu-icon {
		display:block;position:absolute;cursor:pointer;z-index:16;
		top:1px;right:3px;padding:8px;
		font-size:13px;line-height:15px;color:#666666;text-transform:uppercase;
		border:1px solid #CCCCCC;border-radius:5px;
	}
	#header-menu-icon:hover {
		background-color:#666666;
		color:white;
		border-color:#666666;
	}
	#header-rows{
		display:none;
	}

	/* MENU OPEN */
	body.menu-open {
		overflow:hidden;position:fixed;
		-webkit-overflow-scrolling:touch;
		height:100%;width:100%;
	}
	body.menu-open .menu-shift {
		left:-250px !important;	
	}
	body.menu-open #contact-tab {
		right:250px;
	}	
	body.menu-open #menu-closer {
		display:block;position:fixed;z-index:15;
		top:0;left:0;right:0;bottom:0;
	}
	body.menu-open #header-rows {
		position:fixed;display:block;overflow-y:scroll;z-index:20;
		top:55px;right:0;bottom:0;width:250px;
		background-color:#333333;
	}
	body.menu-open .header-row {
		display:block;position:relative;
		top:0;width:100%;
	}
	body.menu-open #header-rows .header-row a {
		display:block;
		margin:0;padding:10px 15px;
		color:white;
		border-bottom:1px solid #444444;
	}
	body.menu-open #header-row-1 a:last-child {
		color:#85cff1;
	}
	body.menu-open #header-rows .header-row a:hover {
		text-decoration:none;
		background-color:#666666;
	}
	
}

#contact-tab {
	position:absolute;z-index:10;
	box-sizing:border-box;
	top:110px;right:0;
	padding:10px 40px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:17px;color:white;text-align:center;white-space:nowrap;
	background-color:#0a8ecc; 
	border-radius:0 0 10px 10px;
}
#contact-tab-phone .small {
	opacity:0.7; 
}
@media (max-width:960px) {
	#contact-tab {
		top:45px;
		padding:10px 20px;
		font-size:15px;
	}
}
@media (max-width:500px) {
	#contact-tab-phone {
		display:inline-block;
		vertical-align:top;
	}
	#contact-tab-phone .small {
		display:block;
		font-size:12px;letter-spacing:2px;
	}
	#contact-tab {
		left:0;width:100%;
		padding:5px 10px;
	}
	body.menu-open #contact-tab {
		left:-250px;
	}	
}
#contact-tab a {
	color:white;
}


/* HERO */

.homepage-hero {
	height:65vh;min-height:350px;
}
#hero {
	background-color:black;
}
#hero-image {
	position:absolute;
	width:100%;top:0;left:0;
}
.homepage-hero #hero-image {
	opacity:0.8;
}
#hero-text {
	position:absolute;
	width:100%;top:0;left:0;
}
#hero-text span {
	display:block;
	padding:0 10px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:42px;color:white;font-weight:bold;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 750px) {
	#hero-text span { font-size: 5.4vw; }
}
@media (max-width: 400px) {
	#hero-text span { font-size: 22px; }
}

#homepage-byline {
	background:#8dba4f url('/images/heartstrings.png') center center;
	background-size:cover;
}
#homepage-byline h1 {
	margin-bottom:15px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:28px;color:white;text-align:center;
}
@media (max-width:900px) {
	#homepage-byline h1 {
		font-size:3.2vw;
	}
}
@media (max-width:650px) {
	#homepage-byline h1 {
		font-size:18px;
	}
}


/* PHONE STRIPE */

#phonestripe {
	padding:120px 40px;
	background:#2d89a6 url('/images/phonestripe.jpg') center center;background-size:cover;
}
#phonestripe a {
	color:white;
}


/* FEATUREBOXES */

.featureboxes {
	font-size:0;line-height:0;
}
.featurebox {
	display:inline-block;vertical-align:top;
	width:22%;
	font-size:16px;line-height:22px;
}
.featurebox + .featurebox {
	margin-left:4%;
}
.featurebox img {
	width:100%;
	margin-bottom:15px;
}
@media (max-width:900px) and (min-width:500px) {
	.featurebox {
		width:47%;
		margin-left:0;margin-bottom:40px;
	}
	.featurebox+.featurebox {
		margin-left:0;
	}
	.featurebox:nth-child(even) {
		margin-left:6%;
	}
}
@media (max-width:500px) {
	.featureboxes .featurebox {
		width:100%;
		margin-left:0;
		margin-bottom:40px;
	}
		
}


/* PAGETITLE */

.pagetitle {
	padding:30px;
	background:#BBBBBB url('/images/heartstrings.png') center center;background-size:cover;
}
.pagetitle h1 {
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:30px;font-weight:400;color:white;
}
@media (max-width:960px) {
	.pagetitle {
		padding-top:55px;padding-bottom:20px;
	}
	.pagetitle h1 {
		font-size: 21px;
	}
}


/* BANNER IMAGE */

.banner-image {
	font-size:0;line-height:0;
}
.banner-image img {
	width:100%;
}


/* CAROUSEL */

#carousel {
	width:100%;
	padding-bottom:66.66%;margin-bottom:30px;
}


/* GALLERY */

.gallery {
	margin:30px 0;
}
.gallery:after {
	display:table;clear:both;
	content: " ";
}
.gallery li {
	display: block;
	float: left;
	height: 93px;
	margin-bottom: 6px;
	margin-right: 6px;
	width: 140px;
}
.gallery li a {
	cursor: zoom-in;
	height: 93px;
	width: 140px;
}
.gallery li a img {
	max-width: 140px;
}
@media (max-width:400px) {
	.gallery li {
		height: 80px;
		width: 120px;
	}
	.gallery li a {
		height: 80px;
		width: 120px;
	}
	.gallery li a img {
		max-width: 120px;
	}

}


/* INFOBOX */

.infobox {
	padding:30px;
	background-color:#e8eff1;
	border-radius:10px;
}
.infobox + .infobox {
	margin-top:30px;
	background-color:#ebf1e8;
}	
.infobox + .infobox + .infobox {
	background-color:#f1efe8;
}
.infobox.nugget {
	background-color:white;
	border:1px solid #8dba4f;border-radius:10px;
}
.infobox h3 {
	margin-bottom: 20px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:19px;font-weight:400;
}
@media (max-width:700px) {
	.infobox h3 {
		font-size:16px;
	}
}

/* PAGE CONTENT */

.page-content {
	padding:4vw 30px;
	background-color:white;
}
.page-content>*+* {
	margin-top:30px;
}
.page-content h2 {
	margin-bottom: 20px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:24px;font-weight:400;
}
.page-content h3 {
	margin-bottom: 20px;
	font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:19px;font-weight:400;
}
@media (max-width:700px) {
	.page-content h2 {
		font-size:19px;
	}
	.page-content h3 {
		font-size:16px;
	}
}
@media (max-width:500px) {
	.page-content {
		padding:20px 30px 40px;
	}
}


/* DIAGRAM */

#diagram {
	padding:10px;
	background:#f5f5ee;
	text-align:center;
}
#diagram img {
	width:400px;
	max-width:80%;
}


/* LEFT RAIL NAV */

.cols-nav .col-left a.cc-active {
	cursor:default;
	color: black;
}
.cols-nav .col-left a.cc-active:hover {
	text-decoration:none;
}
@media (max-width:950px) {
	.cols-nav .col-left {
		margin-bottom:30px;
	}
	.cols-nav .col-left p {
		display:inline-block;
		margin:0;padding-right:10px;		
	}
	.cols-nav .col-left p:after {
		content: "\00a0\00a0\00a0/";
	}
	.cols-nav .col-left p:last-child:after {
		content: "";
	}
}

/* FOOTER */

#footer {
	padding:90px 40px;
	background-color:#191919;
	color:#999999;
}
#footer-content {
	text-align:right;
}
#footer-logo {
	float:left;z-index:5;
	height:60px;width:260px;
}
#footer-logo img {
	height:60px;width:260px;
}
#social a img {
	height:32px;width:32px;
	border:0;
}
#social a+a {
	margin-left:8px;
}
@media (max-width:700px) {
	#footer {
		padding:60px 20px;
	}
	#footer-content {
		text-align:center;
	}
	#footer-logo {
		float:none;
		margin:0 auto 20px;
	}
}
