/* Master layout */

/************************************************************
Embedded fonts */

@font-face {
	font-family:Serpentine;
	src:url('../fonts/serpentine-bold.eot'); /* IE8- */
	src:url('../fonts/serpentine-bold.eot?iefix') format('embedded-opentype'), /* IE9 */
		url('../fonts/serpentine-bold.ttf') format('truetype'); /* The rest of the world */
}

@font-face {
	font-family:Sophia;
	src:url('../fonts/SofiaProLight-webfont.eot'); /* IE8- */
	src:url('../fonts/SofiaProLight-webfont.eot?iefix') format('embedded-opentype'), /* IE9 */
		url('../fonts/SofiaProLight-webfont.ttf') format('truetype'); /* The rest of the world */
}


/************************************************************
Global styles */

html {
	background:#191919;
}
body {
	font:10.5pt/1.3 Sophia,Arial,Helvetica,sans-serif;
	border-top:0.7em solid #9e1300;
	background:#fff;
	color:#444;
	margin:0;
	padding:0;
}
body.mceContentBody { border-top:none !important; }

/* Links */
a:link,
a:visited,
a:hover,
a:active {
	color:#01178b;
	text-decoration:none;
}
a img {
	border:none;
}
a[href^="tel:"] {
	color:inherit;
	cursor:inherit;
}

/* Responsive images */
img {
	max-width:100%;
}
#map-canvas img {
	max-width:none;
}


/* Headings */
h1,h2,h3,h4,h5,h6 {
	font:110%/1.1 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
	margin:0.6em 0 0.3em;
}
h1 {
	font-size:180%;
}
h2 {
	font-size:170%;
}
h3 {
	font-size:130%;
}

/* Block-level */
p {
	margin:1em 0;
}
address {
	font-style:inherit;
	margin:1em 0;
}


/************************************************************
Layout: Header */

body>header {
	text-align:right;
	position:relative;
	background:#fff url('../images/site/bg-dots.png') repeat-x center top;
	padding:1em 1em 2em;
}


/*-----------------------------------------------------------
Logo */

#logo {
	position:relative;
	text-align:left;
	margin:0 auto;
	max-width:1056px;
}
#logo a {
	display:block;
	float:left;
	width:256px;
	height:55px;
	margin:1em 0 0;
	text-indent:-9999px;
	outline:none;
	background:transparent url('../images/site/logo.png') no-repeat center center;
}


/*-----------------------------------------------------------
Top navigation */

#top {
	margin:-2em auto 0; /* Prevents jumping when the search is clicked */
	padding:2em 0 0;
	max-width:1056px;
}
#top ul {
	position:relative;
	list-style:none;
	margin:0;
	padding:0;
}
#top li {
	display:inline;
	white-space:nowrap;
	margin:0 1%;
}
#top a {
	display:inline-block;
	font:italic normal 100%/2 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
	text-transform:uppercase;
	color:#444;
}
#top a[href^="tel:"] {
	color:#01178b;
}

/* Icons */
#top li>a:first-child:before {
	content:' ';
	display:inline-block;
	vertical-align:middle;
	margin:-4px 0 0;
	height:17px;
	width:21px;
	background:transparent url('../images/icons/top-nav.png') no-repeat center center;
}
#top li.home>a:before { background-position:3px center; }
#top li.support>a:before { background-position:-23px center; width:28px; }
#top li.contact>a:before { background-position:-53px center; }
#top li.search>a:before { background-position:-77px center; }


/*-----------------------------------------------------------
Search form */

/* Layout */
#search {
	position:absolute;
	visibility:hidden;
	text-align:left;
	opacity:0;
	right:0;
	bottom:200%;
	padding:2em 0.7em 0.5em;
	color:#efefef;
	background:rgba(0,0,0,0.8);
	border-left:0.4em solid #9e1300;
	/*border:1px solid #fff;*/
	border-radius:1px;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}
#search:target {
	visibility:visible;
	opacity:1;
	bottom:0;
}

/* Back link */
#search nav a {
	position:absolute;
	text-indent:-9999px;
	text-align:left;
	outline:none;
	right:1.05em;
	bottom:1.35em;
	font:bold 120%/0 Sophia,Arial,Helvetica,sans-serif;
}
#search nav a:after {
	content:'\2715';
	display:block;
	text-align:right;
}

/* Form */
#search p {
	margin:0;
	padding:0 1.5em 0 0;
	background:#fff;
	border:0.2em solid #00004A;/*9E1300;*/
	border-radius:0.2em;
	box-shadow:inset 0 0.2em 0.5em rgba(0,0,0,0.05);
}
#search input[type="search"] {
	display:inline-block;
	vertical-align:middle;
	font:100%/1.3 Sophia,Arial,Helvetica,sans-serif;
	padding:0.2em 0.4em;
	background:none;
	border:none;
}
#search input[type="submit"] {
	display:inline-block;
	vertical-align:middle;
	text-indent:-9999px;
	background:transparent url('../images/icons/top-nav.png') no-repeat right center;
	border:none;
	margin:0;
	padding:0.4em 0.6em;
	cursor:pointer;
}


/*-----------------------------------------------------------
Slogan */

body>header>p {
	margin:1.2em auto 0.5em;
	padding:0 0.5em;
	font-style:italic;
	font-size:140%;
	max-width:1036px;
}
body>header>p strong {
	font-weight:inherit;
	color:#9e1300;
}



/************************************************************
Layout: Navigation */

#main-nav {
	background:#00004a;
	border-top:1px solid #9e1300;
	border-bottom:1px solid #9e1300;
	text-align:center;
	padding:0 1em;
}
#main-nav>ul {
	position:relative;
	list-style:none;
	max-width:1056px;
	margin:0 auto;
	padding:0;
}

/* mobile-only nav links */
#nav-jump,
#nav-close {
	display:none !important;
}

/*-----------------------------------------------------------
First level */

#main-nav>ul>li {
	display:inline-block;
	margin:0 2%;
}
#main-nav>ul>li>a {
	position:relative;
	display:block;
	font:italic normal 130%/2 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
	padding:0.3em 0;
	text-transform:uppercase;
	color:#fff;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}
#main-nav>ul>li:hover>a {
	color:#a5a5a5;
}

/* Arrow */
#main-nav>ul>li>a:not(:only-child):after {
	content:' ';
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 0.4em;
	border-top:0.3em solid currentColor;
	border-left:0.3em solid transparent;
	border-right:0.3em solid transparent;
}

/*-----------------------------------------------------------
Second level */

#main-nav nav {
	position:absolute;
	visibility:hidden;
	z-index:30;
	opacity:0;
	width:100%;
	top:100%;
	left:0;
	background:#fff;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}
#main-nav li:hover>nav {
	visibility:visible;
	opacity:1;
}

/* Arrow */
#main-nav li>a:not(:only-child):before {
	content:' ';
	visibility:hidden;
	opacity:0;
	position:absolute;
	left:50%;
	bottom:0;
	margin:0 0 0 -0.8em;
	border-bottom:0.5em solid #fff;
	border-left:0.5em solid transparent;
	border-right:0.5em solid transparent;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}
#main-nav li:hover>a:not(:only-child):before {
	visibility:visible;
	opacity:1;
}


/* Links */
#main-nav nav ul {
	display:table;
	table-layout:fixed;
	list-style:none;
	padding:0 0.4em;
	width:100%;
	margin:0;

	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
#main-nav nav li {
	display:table-cell;
	vertical-align:bottom;
	text-align:center;
	padding:0.6em 0.4em;
}
#main-nav nav a {
	display:block;
	font:115%/1.3 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}
#main-nav nav li.sel>a,
#main-nav nav a:hover {
	color:#9e1300;
}
#main-nav nav img {
	display:block;
}


/************************************************************
Layout: Content */

#content {
	text-align:center;
	position:relative;
	background:#fff url('../images/site/bg-dots.png') repeat-x left -70px;
	padding:2em 1.5em;
}
#content:before {
	content:' ';
	position:absolute;
	height:0.7em;
	width:100%;
	left:0;
	top:0;
	background:#fff url('../images/site/bg-lines.gif') repeat center top;
}
#content>* {
	text-align:left;
	max-width:1056px;
	margin-left:auto;
	margin-right:auto;
}

/*-----------------------------------------------------------
Columns */

#content .col.main {
	width:64%;
	max-width:685px;
}
#content .col.side {
	width:32%;
	max-width:330px;
}
#content .col+.col {
	margin-left:3%;
}


/************************************************************
Layout: Footer */

body>footer {
	text-align:center;
	position:relative;
	color:#efefef;
	background:#191919;
	border-top:0.7em solid #9e1300;
	padding:1em 1.5em 2em;
}


/*-----------------------------------------------------------
Navigation */

#foot-nav {
	text-align:left;
	overflow:hidden;
	max-width:1056px;
	margin:0 auto 1em;
	padding:0 0 0.5em;
	border-bottom:1px solid #404040;
}


/* Get in Touch! header */
#foot-nav h2 {
	float:left;
	margin:0;
}


/* Links */
#foot-nav ul {
	list-style:none;
	float:right;
	margin:0;
	padding:0;
	width:50%;
	max-width:370px;
}
#foot-nav li {
	display:inline;
}
#foot-nav li a {
	display:inline-block;
	font:italic normal 85%/1.5 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
	color:#efefef;
}
#foot-nav li a:after {
	content:'  /  ';
}
#foot-nav li:last-child a:after {
	display:none;
}


/*-----------------------------------------------------------
Copyright */

body>footer>address,
body>footer>p {
	text-align:left;
	max-width:1056px;
	margin:0 auto;
}


/* Address / contact */
body>footer>address strong {
	display:inline-block;
	padding:0 0.5em 0 0;
	font-weight:inherit;
	font-family:Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
}
body>footer>address+p {
	margin-bottom:1.5em;
}
body>footer>address+p span {
	margin:0 0.4em 0 0;
}


/* Links */
body>footer>p+p em {
	font-size:95%;
	margin:0 0 0 0.5em;
}
body>footer>p+p em a {
	color:#efefef !important;
}
body>footer>p+p em a+a:before {
	content:'  |  ';
}


/* Copyright / JB */
body>footer>p+p {
	display:inline-block;
	max-width:526px;
	width:49.5%;
	margin:0;
}

/* JB logo */
#jb {
	text-align:right;
}
#jb a {
	display:inline-block;
	vertical-align:middle;
	text-indent:-9999px;
	text-align:left;
	outline:none;
	height:32px;
	width:82px;
	margin:0 0 0 0.4em;
	background:transparent url('../images/site/jb-logo.png') no-repeat center center;
}


/************************************************************
Buttons / links */


/*-----------------------------------------------------------
Buttons */

.button {
	display:inline-block;
	vertical-align:middle;
	color:#efefef !important;
	padding:0.5em 1.5em 0.5em 1.9em;
	font:10.5pt/1.3 Sophia,Arial,Helvetica,sans-serif;
	text-transform:uppercase;
	border:none;
	cursor:pointer;

	/* Arrow shape uses four gradients, one for each corner; angles are slightly "off" for smoother display */
	background:#9e1300;
	background:linear-gradient(225.1deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat right top / 51% 50%, linear-gradient(314.9deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat right bottom / 51% 50%, linear-gradient(134.9deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat left bottom / 51% 50%, transparent linear-gradient(45.1deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat left top / 51% 50%;
	transform: scale(.9999); /* fix for aliasing in firefox */

}
.button:after {
	content:' ';
	display:inline-block;
	vertical-align:baseline;
	margin:-1px 0 0 0.5em;
	border-left:0.4em solid #fff;
	border-top:0.3em solid transparent;
	border-bottom:0.3em solid transparent;
}



/* Reversed button */
.button.back {
	padding-right:1.9em;
	padding-left:1.5em;
	background:linear-gradient(135.1deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat left top / 51% 50%, linear-gradient(44.9deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat left bottom / 51% 50%, linear-gradient(224.9deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat right bottom / 51% 50%, transparent linear-gradient(315.1deg, rgba(158,19,0,0) 1em, rgba(158,19,0,1) 1em) no-repeat right top / 51% 50%;
}
.button.back:before {
	content:' ';
	display:inline-block;
	vertical-align:baseline;
	margin:-1px 0.5em 0 0;
	border-right:0.4em solid #fff;
	border-top:0.3em solid transparent;
	border-bottom:0.3em solid transparent;
}
.button.back:after {
	display:none;
}


/*-----------------------------------------------------------
Arrows */

.arrow {
	font-size:115%;
	font-style:italic;
}
.arrow:after {
	content:' ';
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 0.5em;
	border-left:0.4em solid currentColor;
	border-top:0.4em solid transparent;
	border-bottom:0.4em solid transparent;
}


/************************************************************
Miscellaneous */

/* Text alignment */
.left { text-align:left !important; }
.center { text-align:center !important; }
.right { text-align:right !important; }

/* Font sizes */
small { font-size:90%; }

/* Columns */
.col {
	display:inline-block;
	vertical-align:top;
}


/* Highlighting */
mark {
	background:#ff9;
}


/* Dividers */
hr {
	position:relative;
	display:block;
	margin:1.5em auto;
	height:0.7em;
	width:90%;
	border:none;
	background:#fff url('../images/site/bg-lines.gif') repeat  center center;
}
hr:after {
	content:' ';
	position:absolute;
	height:0.7em;
	width:100%;
	top:100%;
	left:0;
	background:radial-gradient(ellipse farthest-side at center top, rgba(0,0,0,0.05) 20%, rgba(0,0,0,0));
}
#content>hr {
	max-width:985px;
}


/* Fix extra button padding in Firefox */
input[type="submit"]::-moz-focus-inner {
	border:none;
	padding:0;
	line-height:1;
}

/* Facebook Icon */
.sub-header-title {
	margin: 0 auto;
}
.facebook-icon {
	color: #444 !important;
	display: block;
	font: 110%/1.1 Serpentine,'Arial Black',Arial,Helvetica,sans-serif;
	margin: 5px auto;
	max-width: 1036px;
}
.facebook-icon > img {
	display: inline-block;
	height: 25px;
	width: 25px;
	vertical-align: middle;
}