@charset "utf-8";
.save {
	color: #dffbee;
	color: #c3fae1;
	color: #b6fcdc;
	color: #8BCFD2;
	color: #6fc1c5;
	color: #64aeb2;
	color: #2cafa8;
	color: #00bdc7;
	color: #519598;
	color: #25878B;
	color: #83d7b4;
	color: #1c9;
	color: #095C72;
	color: #20809a;
	color: #2e768a;
	color: #19586a;
	color: #f6fcb0;
	color: #f6fcb1;
	color: #ff8;
	color: #fb0;
	color: #df8;
	color: #ef8;
	color: #ef5;
	color: #cd0;
	color: #cf8;
}
.preload
{
	position: absolute;
	top: -2000px;
	left: -2000px;
	z-index: -1000;
}
html,
body
{
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	display: block;
}
body
{
	font-size: .9em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 525;
	font-style: normal;
	color: #000;
	background-color: #052152;
	background-image: radial-gradient(circle at 70% 20%, rgb(5, 33, 82), rgb(32, 61, 105), rgb(48, 102, 104), rgb(5, 35, 59), rgb(17, 38, 65), rgb(36, 87, 120));
	background-position: bottom center;
	background-attachment: fixed;
}
#wrap
{
	width: 100%;
	height: auto;
	display: block;
	overflow: hidden;
}
#banner,
#contentwrap
{
	max-width: 1200px;
	margin: 0 auto;
}
#banner
{
	color: #fff;
	overflow: hidden;
	vertical-align: middle;
}
a
{
	color: #069;	
}
a:hover
{
	color: #f60;
}
p
{
	line-height: 180%;
}
.columns p
{
	line-height: unset;
}
h1
{
	text-transform: uppercase;
	font-weight: 550;
}
h2
{
	font-weight: 300;
}
h3
{
	color: #001b66;
	font-size: 150%;
	font-weight: 650;
	text-transform: uppercase;
	text-shadow: #009ef8b0 0.5px 0.5px 1px;
}
h3#page_head,
h3#alt_head
{
	letter-spacing: 1px;
}
h3:first-of-type,
h3#alt_head
{
	margin-top: 5px;
}
.portfolio h3#page_head,
.porftolio h3#alt_head
{
	margin-bottom: .2em;
}
#video.portfolio h3#page_head,
#video.porftolio h3#alt_head
{
	margin-bottom: 1em;
}
.services h3:first-of-type,
.services h3#alt_head
{
	margin-top: 15px;
}
#praise h3:first-of-type
{
	clear: both;
	margin-bottom: 25px;
}
#praise h3:first-of-type,
#praise h3#alt_head,
.services h3
{
	text-align: center;
}
form h3.confirmation
{
	text-align: center;
	padding: 50px 0;
}
h4
{
	color: #001b66;
	font-weight: 700;
	margin-bottom: 0;
}
.services #contentwrap article ul li h4
{
	margin: 0 auto 8px auto;
}
#banner h1,
#banner h2
{
	margin: 0;
	padding: 0;
}
#banner h1
{
	padding-top: 8px;
	padding-left: 5px;
}
#banner h1 a
{
	font-size: 1px;
	text-indent: -5000px;
	width: 500px;
	height: 45px;
	background-image: url('../images/logos/BTP_horiz_final.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom left;
}
#banner a
{
	display: block;
	color: #fff;
	text-decoration: none;
}
#banner a:hover
{
	color: #fff;
	text-decoration: none;
}
#banner h1 a:hover,
#banner a.active
{
	text-decoration: none;
}
#banner a.active
{
	cursor: default;
}
#banner a:hover h2
{
	text-decoration: underline;
}
#title
{
	float: left;
	padding-top: 18px;
	padding-bottom: 0;
}
#menu
{
	float: right;
	font-size: 120%;
	font-weight: 500;
}
#menu ul
{
	display: inline;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#menu li
{
	display: inline-block;
	overflow: visible;
}
#menu li a
{
	display: inline-block;
	padding: 38px 15px 0 15px;
	text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
	border-bottom: 18px solid transparent;
}
#menu li a:hover
{
	text-decoration: none;
	border-bottom: 18px solid #ef8;
}
#menu li a.highlight
{
	text-decoration: none;
	border-bottom: 18px solid #ef8;
}
#menu li a.active,
#menu li a:hover.active
{
	border-bottom: 18px solid #2cafa8;
}
#contentwrap ul.service_menu
{
	display: block;
	text-align: center;
	margin: 0;
	overflow: hidden;
	padding: 15px 75px 0 75px;
	border-top: 1px solid #2cafa8;
	border-left: 1px solid #2cafa8;
}
#contentwrap ul.service_menu li
{
	display: inline;
	font-weight: 640;
	font-size: 85%;
	text-transform: uppercase;
}
#contentwrap ul.service_menu li a
{
	display: inline-block;
	color: #069;
	padding: 0 25px;
	text-decoration: none;
}
#contentwrap ul.service_menu li a:hover
{
	color: #f30;
	text-decoration: underline;
}
#contentwrap ul.service_menu li a.active,
#contentwrap ul.service_menu li a.active:hover
{
	color: #000;
	cursor: default;
	text-decoration: none;
}
#contentwrap
{
	font-size: 125%;
	line-height: 150%;
	font-weight: 500;
	overflow: hidden;
	padding-top: 2px;
	padding-left: 2px;
	background-color: #fff;
	background-image: url('/images/textures/paper_trans_super_opt.png');
	background-repeat: repeat;
	background-position: top center;
	background-blend-mode: normal;
	border-bottom-right-radius: 30px;
	box-shadow: inset 3px 3px 2px #2cafa8;
}
#contentwrap,
.services #contentwrap ul.service_menu
{
	border-top-left-radius: 30px;
}
#contentwrap section
{
	padding: 45px 60px 60px 60px;
}
.services #contentwrap section
{
	padding-top: 20px;
}
#contentwrap section#blurbs
{
	padding: 0;
}
#bio
{
	overflow: hidden;
}
#bio p b
{
	color: #001b66;
}
#headshot
{
	width: 25%;
	float: left;
	overflow: hidden;
	margin: 0;
	margin-right: 2em;
	margin-bottom: 1em;
	border-top-left-radius: 30px;
	border-bottom-right-radius: 30px;
	box-shadow: 2px 2px 3px #ef8;
}
#headshot img
{
	margin: 0;
	padding: 0;
	display: block;
	width: 100%;
}
#contact #contact_item
{
	display: none;
}
section#contact_form
{
	overflow: hidden;
}
section#contact_form article:first-of-type
{
	float: left;
	width: 40%;
	padding-bottom: 300px;
	background-image: url('../images/arrows/arrow_right_lime.png');
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 400px;
}
section#contact_form article:first-of-type.confirmation
{
	background-image: none;
}
section#contact_form aside.confirmation:first-of-type
{
	padding-bottom: 500px;
	background-image: url('../images/arrows/arrow_up_lime.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 200px;
	box-shadow: none;
}
section#contact_form aside:first-of-type
{
	float: right;
	width: 55%;
	overflow: hidden;
	box-shadow: 2px 2px 3px #036;
}
section#contact_form aside:first-of-type,
section#contact_form form
{
	border-top-left-radius: 30px;
	border-bottom-right-radius: 30px;
}
section#contact_form form
{
	padding: 20px 30px;
	margin: 0;
	background-color: #fefefe;
	background-image: radial-gradient(at 35% 30%, #fefefe, #1d4969);
	box-shadow: inset 1px 1px 2px #fdfda1;
}
section#contact_form form label,
section#contact_form form input,
section#contact_form form textarea
{
	display: block;
	width: 97%;
}
section#contact_form form label
{
	margin-top: 1em;
	margin-bottom: 2px;
	font-size: .8em;
	font-weight: 550;
}
section#contact_form form label,
span.err
{
	line-height: 120%;
}
span.err
{
	display: block;
	width: 97%;
	margin: 2px 0 0 4px;
	font-size: 80%;
	font-weight: 600;
	text-align: center;
	color: #bf0411;
}
section#contact_form form input[type=text],
section#contact_form form textarea
{
	font-size: 80%;
	background-color: #fff;
	border-color: #cad8e7;
}
section#contact_form form input[type=text].err,
section#contact_form form textarea.err
{
	background-color: yellow;
}
section#contact_form form input[type=text]
{
	height: 1.5em;
}
section#contact_form form textarea
{
	height: 5em;
}
section#contact_form form button,
.tack_on_btn button
{
	cursor: pointer;
	display: inline-block;
	width: auto;
	padding: 5px 20px;
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 2px;
	font-weight: 900;
	font-size: 75%;
	text-transform: uppercase;
	border-width: 2px;
	text-shadow: black 1px 1px 1px;
}
section#contact_form form button
{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin: 1.5em auto .25em auto;
}
aside.tack_on_btn
{
	text-align: center;
	clear: both;
	display: block;
	margin: 1em auto .5em auto;
}
.services aside.tack_on_btn
{
	margin-top: 2em;
}
.tack_on_btn button
{
	margin-bottom: .75em;
	margin-left: 20px;
	margin-right: 20px;
}
button#more_services
{
	margin-top: 0;
}
section#contact_form form button
{
	color: #fff;
	background-color: #1e4171;
	border-top-color: #ef8;
	border-left-color: #ef8;
	border-bottom-color: #75f6fc;
	border-right-color: #75f6fc;
}
section#contact_form form button[type=submit]:hover
{
	color: #001b66;
	background-color: #8BCFD2;
	border-top-color: #519598;
	border-left-color: #519598;
	border-bottom-color: #1e4171;
	border-right-color: #1e4171;
	text-shadow: none;
}
.tack_on_btn button
{
	color: #fff;
	background-color: #036;
	border-top-color: #519598;
	border-left-color: #519598;
	border-bottom-color: #1e4171;
	border-right-color: #1e4171;
	min-width: 177px;
}
.tack_on_btn button:hover
{
	color: #fff;
	background-color: #f50;
	border-top-color: #ef8;
	border-left-color: #ef8;
	border-bottom-color: #036;
	border-right-color: #036;
	text-shadow: none;
}
#services section.lead
{
	background-image: url('../images/arrows/arrow_up_lime.png');
	background-repeat: no-repeat;
	background-position: 86% 10px;
	background-size: 250px;
}
.services article li
{
	line-height: 130%;
	list-style-type: none;
	background-image: url('../images/dingbats/bullet.png');
	background-repeat: no-repeat;
	background-position-x: left;
	background-position-y: 7px;
	background-size: 22px;
	padding: 8px 0 8px 30px;
}
.services article ul li:last-of-type
{
	padding-bottom: 0;
}
.services #contentwrap article ul li p
{
	margin-top: 0;
}
.services #contentwrap article ul li p:last-of-type
{
	margin-bottom: 0;
}
#blurbs
{
	overflow: hidden;
	padding-left: 10px;
	padding-right: 10px;
}
#blurbs article figure
{
	float: right;
	margin: 0 0 5px 10px;
	width: 210px;
	height: auto;
	padding-right: 8px;
}
#blurbs article figure img
{
	height: auto;
	margin-top: 4px;
	border-radius: 50%;
	border: 4px solid #f50;
	box-shadow: 2px 2px 4px #999;
	width: 100%;
}
#blurbs article p
{
	margin: 10px 0 0 0;
	padding-left: 25px;
	padding-top: 4px;
	background-image: url('../images/dingbats/quote_open.png');
	background-repeat: no-repeat;
	background-position: top left;
}
#blurbs article:nth-child(odd)
{
	float: left;
	width: 47%;
	clear: left;
	padding-right: 5px;
	padding-right: 10px;
}
#blurbs article:nth-child(even)
{
	float: right;
	width: 47%;
	clear: right;
	padding-right: 5px;
}
#blurbs p.attribution
{
	margin: 8px 0 30px 0;
	font-weight: 700;
	text-indent: -1em;
	padding-left: 1em;
	margin-left: 25px;
	color: #001b66;
	background-image: none;
}
#footer
{
	width: auto;
	display: block;
	padding: 0 40px 40px 40px;
	margin: 0;
	overflow: hidden;
	clear: both;
}
address
{
	font-style: normal;
}
#footer
{
	font-size: 100%;
	font-weight: normal;
}
#footer ul {
	margin: 8px auto;
	padding: 0;
	text-align: center;
}
#footer li {
	list-style-type: none;
	text-indent: 0;
	margin: 0 10px 4px 10px;
	display: inline-block;
}
#footer li#copyright
{
	display: block;
}
#footer li a
{
	display: inline-block;
	white-space: nowrap;
	line-height: 120%;
	font-weight: 400;
	text-align: center;
	margin: 2px auto 0 auto;
}
#footer,
#footer a
{
	color: #ffffffe8;
}
#footer a:hover
{
	color: #df8;
}

/* BEGIN: submenu dropdown styling ==> */
#menu .service_menu li a.active,
#menu .service_menu li a:hover.active
{
	border-bottom: none;
}
#menu ul.service_menu
{
	display: none;
	position: absolute;
	z-index: 10;
	width: 290px;
	padding: 0;
	box-shadow: 3px 3px 4px #555;
}
.services #menu #service_dropdown:hover ul.service_menu
{
	display: none;
}
#menu .service_menu li
{
	display: block;
}
#menu .service_menu li a
{
	display: block;
	border: none;
	text-shadow: none;
	padding: 8px 5px;
	text-align: center;
	font-weight: 600;
	font-size: 85%;
	padding-top: 18px;
	padding-bottom: 18px;
	text-transform: uppercase;
	color: #024;
	background-color: #fac204;
	background-image: linear-gradient(to bottom right, #ef8 40%, #e6dd1b);
}
#menu .service_menu li a:hover
{
	color: #fff;
	background-color: #122c45;
	background-image: radial-gradient(at 35% 30%, #058, #122c45);
}
#menu .service_menu li a.active,
#menu .service_menu li a.active:hover
{
	color: #fff;
	background-color: #2cafa8;
	background-image: radial-gradient(at 35% 30%, #2cafa8, #25878B);
}
/* <== END: submenu dropdown styling */

/* BEGIN: styling for portfolio pages ==> */
#creative_examples
{
	text-align: center;
}
article.pf
{
	width: 32%;
	display: inline-block;
	text-align: center;
	margin: .5em .25em 1.5em .25em;
}
#video article.pf
{
	width: unset;
	max-width: 480px;
	margin: .5em 1em 1.5em 1em;
}
.pf h4
{
	display: none;
	margin-top: 0;
	color: #666;
	font-weight: normal;
}
.pf.vid h4
{
	display: block;
}
article.pf figure img
{
	width: 100%;
	height: auto;
	border: 1px solid #036;
	background-color: rgba(103, 130, 136, 0.5);
	box-shadow: 2px 2px 3px #203f4f8c;
	vertical-align: middle;
}
article.pf figure img:hover
{
	border-color: #f40;
}
.pf iframe,
.pf video
{
	border: 1px solid #036;
	background-color: rgba(103, 130, 136, 0.5);
	box-shadow: 2px 2px 3px #203f4f8c;
	width: 480px;
	height: 270px;
}
.pf iframe:hover,
.pf video:hover
{
	border-color: #f40;
}
/* BEGIN: Styles for narrow windows ==> */
@media only screen and (max-width: 1000px) {
	article.pf
	{
		display: block;
		margin: 1em auto;
		width: unset;
	}
} /* <== END: Styles for narrow windows */
/* BEGIN: Styles for mobile ==> */
@media only screen and (max-width: 757px) {
	.pf iframe,
	.pf video
	{
		width: 300px;
		height: 169px;
		margin-left: auto;
		margin-right: auto;
	}
} /* <== END: Styles for narrow windows */

/* <== END: styling for portfolio pages */

/* BEGIN: Modal window styles ==> */
/* The Modal (background) */
.modal
{
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	padding-top: 20px; /* Location of the box */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}
/* Modal Content (image) */
.modal-content
{
	margin: auto;
	display: block;
	width: 80%;
	max-width: 700px;
}
/* Caption of Modal Image */
#caption
{
	margin: auto;
	display: block;
	width: 80%;
	max-width: 700px;
	text-align: center;
	color: #ccc;
	padding: 10px 0;
	height: 150px;
}
/* Add Animation */
.modal-content, #caption
{  
	-webkit-animation-name: zoom;
	-webkit-animation-duration: 0.6s;
	animation-name: zoom;
	animation-duration: 0.6s;
}
@-webkit-keyframes zoom
{
	from {-webkit-transform:scale(0)} 
	to {-webkit-transform:scale(1)}
}
@keyframes zoom
{
	from {transform:scale(0)} 
	to {transform:scale(1)}
}
/* The Close Button */
#close_btn
{
	position: absolute;
	top: 15px;
	right: 35px;
	color: #f1f1f1;
	font-size: 40px;
	font-weight: bold;
	transition: 0.3s;
}
#close_btn:hover,
#close_btn:focus
{
	color: #bbb;
	text-decoration: none;
	cursor: pointer;
}
@media only screen and (max-width: 1000px)
{
	.modal
	{
		padding-top: 80px;
	}
	.modal-content
	{
		width: 100%;
	}
}
/* <== END: Modal window styles */

.structural,
.mobile_only
{
	display: none;
}
.tack_on_btn button.mobile_only
{
	display: none;
}