/* Master layout */

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

@font-face {
	font-family:Futura;
	src:url('../fonts/FuturaStd-Book.eot'); /* IE8- */
	src:url('../fonts/FuturaStd-Book.eot?iefix') format('embedded-opentype'), /* IE9 */
		url('../fonts/FuturaStd-Book.otf') format('opentype'); /* The rest of the world */
}

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

html {
	background:#38383a url('../images/site/texture-dkgray-grain.gif') repeat center top;
}
body {
	min-width:280px;
	margin:0;
	padding:0;
	font:10pt/1.3 Futura,Arial,Helvetica,sans-serif;
	background:#fff;
	color:#656565;
}

/* Links */
a:link,
a:visited,
a:hover,
a:active {
	color:#19388a;
	text-decoration:none;
}
a img {
	border:none;
}

/*  Headings */
h1,h2,h3,h4,h5,h6 {
	font:11pt/1.1 Futura,Arial,Helvetica,sans-serif;
	margin:0.5em 0 0.2em;
}
h1 {
	font-size:18pt;
	text-transform:uppercase;
	color: #19388A;
}
h2 {
	font-size:18pt;
	line-height: 30px;
}
h3 {
	font-size:12pt;
}
h4 {
	text-transform:uppercase;
}

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


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

body>header {
	background:#fff url('../images/site/texture-white.jpg') repeat-x center 32px;
}

/* Top/call header */
#top {
	background:#6d6d6d url('../images/site/texture-gray-weave.gif') repeat center top;
	border-bottom:1px solid #acaba9;
}
#top p {
	max-width:970px;
	margin:0 auto;
	padding:0.5em 0.4em;
	text-align:right;
	color:#fff;
	font-size:11pt;
}


/* Navigation + logo area */
#nav {
	position:relative;
	max-width:970px;
	margin:0 auto;
	z-index:10;
}

/* Logo */
#logo {
	position:relative;
	float:left;
	margin:0.2em 0.3em;
	z-index:11;
}
#logo a {
	display:block;
	text-indent:-9999px;
	outline:none;
	width:240px;
	height:90px;
	background:transparent url('../images/site/logo.png') no-repeat center center;
}

/* Facebook */
#fb-plugin {
	position:absolute;
	right:0;
	top:0;
}

/* Navigation */
#nav nav {
	margin:1em 0 0;
	padding:4em 0.7em 0;
	text-align:right;
}
#nav nav ul {
	list-style:none;
	margin:0;
	padding:0;
	font-size:12pt;
	text-transform:uppercase;
}
#nav nav li {
	display:inline-block;
}
#nav nav a {
	display:block;
	padding:1.2em 1em;
	color:#232323;
}
#nav nav li.sel a {
	position:relative;
	color:#19388a;
	background:rgba(125,178,206,0.25);
}
#nav nav li.sel a:after {
	content:' ';
	position:absolute;
	left:50%;
	top:100%;
	margin:0 0 0 -14px;
	border-top:13px solid rgba(125,178,206,0.25);
	border-left:14px solid transparent;
	border-right:14px solid transparent;
}


/************************************************************
Layout: Banner (home page) */

/* Banner area (layout) */
#banner {
	position:relative;
	background:#555 url('../images/site/texture-gray-grain.png') repeat center top;
}
#banner p {
	margin:0.5em 0;
	font-size:12pt;
}
#banner h1 {
	color:#FFFFFF;
}

#banner a {
	color:#fff;
}

/* See top of pages.css for the slider / specific banner images */


/* Ribbon area */
#ribbon {
	position:relative;
	text-align:center;
	background:#85bdda url('../images/site/texture-blue-grain.png') repeat center top;
	color:#fff;
	font-size:12pt;
	padding:0.5em;
	box-shadow:0 5px 10px rgba(0,0,0,0.14);
}
#ribbon:after { /* Curved shadow */
	content:' ';
	position:absolute;
	left:0;
	top:100%;
	width:90%;
	height:1.5em;
	margin:0 10%;

	background-image:radial-gradient(ellipse farthest-side at center top, rgba(0,0,0,0.25), rgba(0,0,0,0));
	
}
#ribbon h2,
#ribbon p {
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}

#ribbon h2 {
	font-size:21pt;
	text-align: center;
}


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

#content {
	max-width:900px;
	margin:0 auto;
	padding:1.5em 0.5em;
}

/* Content header */
#content>header {
	position:relative;
	background:transparent none no-repeat center top;
	height:212px;
	max-width:900px;
	margin:0 auto 2.5em;
	color:#fff;
}
#content>header h1 {
	white-space:nowrap;
	line-height:212px;
	margin:0 1em;
	width:59%;
}
#content>header h2 {
	position:absolute;
	margin:0;
	width:39%;
	height:100%;
	right:0;
	top:0;
	padding:2.5em 1em;
	line-height:1.3;
	background:rgba(133,189,218,0.7);
	border-left:0.4em solid #fff;

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

/* See top of pages.css for specific photos */


/* Columns */
.col.main {
	width:60%;
	max-width:550px;
	min-width:270px;
}
.col.side {
	width:32%;
	max-width:300px;
}
.col+.col {
	margin-left:6%;
}

.col h3 {
	text-transform:uppercase;
}



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

body>footer { /* TODO: SWAP COLOR; also redo the image, as it's an obviosu tile */
	font-size:9.5pt;
	text-align:center;
	padding:2em 0 0;
	background:#38383a url('../images/site/texture-gray-grain.png') repeat center top;
	color:#fff;
}


/* Columns */
body>footer section {
	display:inline-block;
	vertical-align:top;
	text-align:left;
	padding:0 2em 1em;
}
body>footer h3 {
	margin-top:0;
}

/* About blurb */
#foot-blurb {
	max-width:365px;
	width:32%;
}

/* Contact info */
#foot-contact {
	position:relative;
	padding:0 1.8em 1.5em;
	max-width:345px;
	width:32%;
}
#foot-contact:before,
#foot-contact:after {
	content:' ';
	position:absolute;
	height:100%;
	width:3px;
	bottom:0;
	box-shadow:inset -3px 0 2px -2px #3b3b3b;
}
#foot-contact:before {
	left:0;
}
#foot-contact:after {
	right:0;
}
#foot-contact address {
	margin:0;
	padding:1.3em 0 1em;
}
#foot-contact address strong {
	float:left;
	margin:-1.3em 0.7em 0.5em 0;
	text-indent:-9999px;
	width:145px;
	height:55px;
	background:transparent url('../images/site/logo-sm.png') no-repeat center center;
}
#foot-contact .tel,
#foot-contact .email {
	background:transparent url('../images/icons/contact-icons.png') no-repeat left top;
	padding-left:2em;
}
#foot-contact .email {
	background-position:left bottom;
}
#foot-contact a {
	color:#fff;
	text-decoration:underline;
}

/* Connect icons */
#foot-connect {
	text-align:left;
}
#foot-connect p {
	font-size:9pt;
	margin:1em 0 0;
	color:#dcdcdd;
}
#foot-connect ul {
	list-style:none;
	margin:0.5em 0;
	padding:0;
}
#foot-connect li {
	display:inline;
}
#foot-connect li a {
	display:inline-block;
	text-align:left;
	text-indent:-9999px;
	outline:none;
	width:30px;
	height:30px;
	background:transparent url('../images/icons/connect-icons.png') no-repeat center center;
}
#foot-connect li.facebook a {
	background-position:1px center;
}
#foot-connect li.linkedin a {
	background-position:-29px center;
}


/* Navigation + copyright */
body>footer>nav {
	padding:0 0 1em;
	background:#38383a url('../images/site/texture-dkgray-grain.gif') repeat center top;
}
body>footer>nav>* {
	display:inline-block;
	vertical-align:middle;
	margin:1em 1.5em 0;
}

/* Navigation links */
#foot-nav {
	list-style:none;
	padding:0;
	font-size:9pt;
}
#foot-nav li {
	display:inline;
}
#foot-nav li+li:before {
	content:' | ';
	padding:0 0.2em;
}
#foot-nav a {
	color:#fff;
}

/* JB logo */
#jb-logo {

}
#jb-logo a {
	display:block;
	text-align:left;
	text-indent:-9999px;
	outline:none;
	width:100px;
	height:40px;
	margin-top:0.4em;
	background:transparent url('../images/site/jb-logo.png') no-repeat center center;
}


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

.button {
	position:relative;
	display:inline-block;
	padding:0.85em 1em 0.85em 0.7em;
	font:9.5pt/1.3 Futura,Arial,Helvetica,sans-serif;
	background:#85bdda url('../images/site/texture-blue-grain.png') repeat center top;
	color:#fff !important;
	border:none;
	border-radius:0.5em;
	cursor:pointer;
}
.button:after {
	content:' ';
	display:inline-block;
	vertical-align:middle;
	width:1.5em;
	margin-left:0.5em;
	border-bottom:2px dotted #fff;
}
.button:before {
	content:' ';
	display:inline-block;
	position:absolute;
	right:0.8em;
	top:50%;
	margin-top:-0.4em;
	width:0.8em;
	height:0.8em;
	border-bottom:2px dotted #fff;
	border-right:2px dotted #fff;

	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

input.button { /* Form submit buttons */
	font-size:12pt;
	padding:0.7em 1.2em;
}



/************************************************************
Modal */

#simplemodal-container {
	max-width:800px;
}
#modal {
	display:none;
	position:relative;
	background:#fff;
	border-radius:0.4em;
}
#modal h2 {
	background:#deecf3;
	margin:0 -15px;
	padding:0.4em 30px 0.2em 15px;
	border-radius:0.3em 0.3em 0 0;
}
#modal-content {
	padding:0 15px 0.5em 15px;
	min-width:300px;
}
#modal .simplemodal-close {
	font-weight:bold;
	cursor:pointer;
	position:absolute;
	right:0.4em;
	top:0.2em;
	font-size:12pt;
	padding:0.2em;
}


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

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

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

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


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

