/*@import '/css/modules/tabbed-content.css';*/

/* ----- Links & Colors ----- */
a, a:visited { color: #0067b4; text-decoration: underline; }
a:hover,a:focus,a:active { color: #333; }
a.noLink { text-decoration: none; color: inherit; cursor: text; }
a.phone[href^=tel]:link,
.phone a {color: #004750;}
a[href^=tel] { color: inherit; text-decoration: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; }


/* ----- Structure ----- */
body { background-color: #fff; color: #333; font-size: 16px; font-size: 1rem; }
.pagewrap { background-color: #e1e1e1; }


/* ----- Header ----- */
.masthead { position: absolute; left: 0; top: 0; width: 100%; z-index: 5; }
.masthead .container { padding-left: 0; }
.logo { padding: 25px 15px; position: relative; z-index: 6; }
.logo img { display: block; width: 100px; -webkit-transition: all .5s ease; transition: all .5s ease; }
.logo img:hover { -webkit-transform: scale(1.1); transform: scale(1.1); }
.masthead-right { display: none; }


/* ----- Content ----- */
.content,
.maincontent { background-color: #fff; }
.homepage .content,
.maincontent { position: relative; z-index: 6; }
.maincontent { padding-top: 3em; padding-bottom: 3em; }

	/* Homepage Styling ----- */
	.homepage .page-title,
	.homepage .site-options { display: none; }


	/* Subpage Styling ----- */
	.page-title { background: url("/images/bg-marketing.png") center no-repeat; background-size: cover; text-align: right; position: relative; padding-top: 200px; padding-bottom: 50px; }
	.page-title:before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.1); }
	.page-title .container { position: relative; padding-left: 75px; }
	.page-title h1 { color: #fff; margin-bottom: .25em; }
	.sidebar { padding-top: 2em; }
	.text-callout { border-left: 15px solid #959595; font-size: 18px; font-size: 1.125rem; font-style: italic; font-weight: bold; margin: 2em 0; padding-left: 25px; display: block; }
	.border-left { border-left: 15px solid #959595; padding-left: 25px; }

		/* Breadcrumbs */
		.brundle_rundll_crumbles { display: block; color: #fff; font-size: 12px; font-size: .75rem; }
		.brundle_rundll_crumbles a { text-decoration: none; color: #aeaeae; }
		.brundle_rundll_crumbles a:hover { text-decoration: underline; }
		.arrow { background: url("/images/icon-arrow-seperator.png") no-repeat scroll 0px 6px transparent; display: inline-block; height: 20px; margin: 0; padding: 0 0 0 15px;}

		/* Contact page */
		.contactform li { margin-bottom: 1em; }
		.contactform li h3 { margin: 25px 0 5px; }
		.contactform li label { display: block; margin: 0 0 3px; font-weight: bold; }
		.contactform li .inline { display: inline; margin-left: 10px; }
		.contactform li .nomargin { margin: 25px 0 0; }
		.contact-location-list li { margin: 0 0 30px; }

		/* Location List */
		ul.locations { list-style: none; margin: 0; padding: 0; }
		ul.locations li { border-bottom: 1px solid #EEE; padding: 0 0 15px; margin: 0 0 15px; }
		ul.locations li:last-child { border: 0; padding: 0; margin: 0; }
		ul.locations li .img { float: left; width: 17%; margin: 0 2% 0 0; }
		ul.locations li .right { float: right; width: 81%; }
		ul.locations li h2 { margin: 5px 0 10px; }

		/* Fig / Figcaptions - Gallery Images */
		.gallery-image { margin: 1.5em 0; }

		.gallery-image a:before { content: ''; -webkit-transition: all .5s ease; transition: all .5s ease; }
		.gallery-image a:hover:before { position: absolute; width: 100%; height: 100%; background-color: rgba(255,255,255,.3); }

		.gallery-image img { display: block; width: 100%; }
		.gallery-image figcaption { background-color: #000; color: #fff; font-size: 14px; font-size: .875rem; padding: 1em; text-align: center; }
		.gallery-image .project-details { z-index: 1; background-color: #e1e1e1; padding: 1em; position: absolute; right: -60px; top: 45%; -ms-transform: translateY(-50%) rotate(90deg); -webkit-transform: translateY(-50%) rotate(90deg); transform: translateY(-50%) rotate(90deg); text-align: center;  width: 175px; }
		.gallery-image .project-details p { font-size: 14px; font-size: .875rem; color: #000; margin-bottom: 0; line-height: 1.5; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }

/* --- Footer --- */
.footer { background-color: #252525; text-align: center; }
.footer .awards { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; }
.footer .award { display: flex; flex-direction: column; width: 250px; margin: 1rem; }
.footer .award p { margin-top: 1rem; color: #fff; }
.copyright { padding: 3.5em 0; }
.copyright p { margin: 0; color: #fff; }
.copyright p a { color: inherit; }

	/* Footer Navigation */
	.footer-nav { background-color: #000; padding-top: 1.5em; padding-bottom: 1.5em; text-align: left; }
	.footer-nav li { width: 49%; line-height: normal; }
	.footer-nav .footerNavItem3020 { display: none; }
	.footer-nav a { display: block; text-decoration: none; padding: 8px 0; color: #fff; }
	.footer-nav a:hover { text-decoration: underline; }



/* ----- Quick Forms ----- */
.sidebar .quickform li label { color: #fff; }
.quickform { list-style: none; margin: 0; padding: 0; }
.quickform li { margin-bottom: 1em; }
.quickform .full h3 { margin: 25px 0 5px; }
.quickform li label { display: block; margin: 0 0 3px; }
.quickform .full.cbox { margin: 0 0 5px; }
.quickform .full.cbox label { display: inline; }
.quickform .full.cbox input { margin: 0 10px 0 0; }
.quickform .full .hint { color: #707070; font-size: 11px; font-size: .668rem; display: block; }
.quickform .full .nomargin { margin: 25px 0 0; }



/* ----- Overlay ----- */
.modal { position: fixed; background-color: #fff; display: none; width: 90%; left: 5%; top: 50%; max-height: 90%; overflow-y: auto; padding: 1.25em; border-radius: .25em; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 999; }
.modal h2 { margin-top: 0; }
.modal .close { position: absolute; width: 24px; height: 24px; cursor: pointer; right: 15px; top: 15px; display: block; background: url("/images/close.png") no-repeat; text-indent: -9999em; }
.overlay-mask { display: none; position: fixed; background: #545454; background: rgba(75,75,75,.75); left: 0; top: 0; width: 100%; height: 100%; z-index: 16; }


/* ----- Typography ----- */
body, p, ul, ol, dl, input, textarea, select, button { font-family: "ubuntu", Arial, sans-serif; line-height: 1.75; }

	/* Headings ----- */
	h1, h2, h3, h4, h5, h6 { font-weight: normal; font-family: "gineso", Arial, sans-serif; margin-top: .5em; margin-bottom: .5em; line-height: 1.2; }
	h1 { color: #ed1c24; font-size: 48px; font-size: 3rem; margin-top: 0; }
	h2 { color: #0067b4; font-size: 36px; font-size: 2.25rem; }
	h3 { color: #00335a; font-size: 30px; font-size: 1.875rem; }
	h4 { color: #103959; font-size: 26px; font-size: 1.625rem; }
	h5 { color: #333; font-size: 22px; font-size: 1.375rem; }

	.gineso { font-family: "gineso", sans-serif; }
	.ubuntu { font-family: "ubuntu", sans-serif; }

	/* Text Elements ----- */
	p, li, table, blockquote { font-size: 16px; font-size: 1rem; }
	p { margin-top: 0; margin-bottom: 1em; }
	blockquote { margin: 1.5rem; }
	ul, ol, dl { margin: 1.5em; list-style-position: outside; }
	ul.decor li { list-style-image: url(/images/bg-bullet.png); }


@media screen and (max-width: 768px) {
	.large-only { display: none; }
}


@media screen and (min-width: 769px) {
	 /* ----- Structure ----- */
	.mobileonly { display: none !important; }


	/* ----- Search ----- */
	.search-field-wrapper { background-color: #1e1e1e; padding-top: 1em; padding-bottom: 1em; }
	.search-field-wrapper form { padding-right: 50px; }
	.search-field-wrapper .searchField { border-radius: 0; border: 0; box-shadow: none; font-size: 20px; font-size: 1.25rem; padding: .5em 1em; }
	.search-field-wrapper .searchField:focus { border: 0; box-shadow: none; }
	.search-field-wrapper input[type=submit] { display: none; }
	.search-field-wrapper .close-search { position: absolute; right: 0; top: 50%; margin-top: -12px; }


	/* --- Content --- */
	.content {  }
	.main.col-md-8 { padding-right: 10%; }
	.main.push-right { float: right; padding-left: 10%; padding-right: 0; }
	.sidebar { padding-top: 2em; padding-bottom: 2em; }

		/* Homepage Styling ----- */
		.homepage .content,
		.content { background-color: #e1e1e1; position: relative;  }
		.content:before { content: ''; position: absolute; right: 0; top: 0; width: 50%; height: 100%; background-color: #00335a; }

			/* Main Content */
			.maincontent { background-color: transparent; position: relative; padding-top: 0; padding-bottom: 0; }
			.main { background-color: #fff; padding: 3em; margin-top: -75px; position: relative; z-index: 6; }
			.homepage .main, .our-team .main { box-shadow: 50px 0 0 #fff; }

			/* Sidebar */
			.homepage .sidebar, .our-team .sidebar { position: relative; z-index: 7; }
			.homepage .sidebar .gallery-image { margin-top: 0; margin-bottom: 3em; }
			.homepage .sidebar .gallery-image:first-child { margin-top: 1em; }
			.homepage .sidebar .gallery-image:last-child { margin-bottom: 0; }


		/* Subpage Styling ----- */
		.page-title { padding-top: 250px; padding-bottom: 150px; }
		.page-title .container { padding-left: 15px; }
		.spacing { padding: 4em 2em; }
		.spacing-no-top { padding: 0 2em 4em; }
		.spacing-left { padding-right: 4em; }
		.spacing-right { padding-left: 4em; }

			/* Site Options */
			.site-options { display: inline-block; margin: 0 0 1em; padding: .5rem; border: 2px solid #000; cursor: none; }
			.site-options li { display: inline-block; vertical-align: baseline; margin-right: 2px; font-weight:600; cursor: pointer; height: 24px; }
			.site-options li a { display: block; text-decoration: none; color: #000; }
			.site-options li a:hover { color: #8B2332; }
			.site-options li a.smlFnt { font-size: 12px; font-size: .75rem; }
			.site-options li a.mdmFnt { font-size: 16px; font-size: 1rem; }
			.site-options li a.lrgFnt { font-size: 20px; font-size: 1.25rem; }
			.site-options li.last-text { margin-right: 1.5em; }

			/* Contact Page */
			.contact-location-list { padding-left: 2em; }
			.sidebar h2,
			.sidebar h3 { color: #fff; }
			.sidebar p { color: rgba(255,255,255,.7); color: #cecece; }
			.sidebar a { color: inherit; }


	/* ----- Quick links ----- */
	.quick-links .container { padding-left: 15px; padding-right: 15px; }


	/* ----- Footer ----- */
	.footer { position: relative; }
    .footer .awards { flex-direction: row; }
	.copyright { padding: 5em 0; }
	.footer-nav { text-align: center; }
	.footer-nav li { width: auto; font-size: 18px; font-size: 1.125rem; margin-left: 1.25em; margin-right: 1.25em; }
    .footer-nav a { padding: 0; }



	/* --- Overlay --- */
	.modal { width: 550px; left: 50%; margin-left: -275px; padding: 2em; }
	.modal-small { width: 400px; margin-left: -200px; }
	.modal-large { width: 700px; margin-left: -350px; }


	/* Typography */
	h1 { font-size: 58px; font-size: 3.625rem; }

	/* Text Elements ----- */
	ul.listing-two-col { line-height: 2em; }
	ul.listing-two-col li { width: 50%; float: left; }
}

@media screen and (min-width: 1200px) {

    /* ----- Header ----- */
	.masthead {  }
    .masthead .container { padding-left: 15px; }
    .masthead-right { display: block; text-align: right; float: right; width: 80%; margin-top: 15px; }
	.masthead-right li { font-size: 20px; font-size: 1.25rem; color: #fff; font-weight: 300; }
	.masthead-right .divider { margin-left: .5em; margin-right: .5em; }
    .masthead-right a { color: #fff; text-decoration: none; }
	.logo { margin-left: -15px; padding-left: 0; padding-right: 0; }
	.mk-left-pattern { position: absolute; left: 0; top: 0; width: 23.5%; height: 100%; z-index: 4; background: #343434 url("/images/bg-hexagons.jpg") repeat; border-bottom: 75px solid #e1e1e1; }
    .logo img { min-width: 150px; max-width: 200px; }

    .secondary-links { display: flex; align-items: center; justify-content: flex-end; }
    .secondary-links li { margin-left: 1rem; display: flex; align-items: center;}
    .secondary-links li p { margin: 0; font-size: 22px; }
    .secondary-links li a { display: flex; }

	/* ----- Navigation -----  */
	.menu { float: right; position: relative; z-index: 5; margin-top: 45px; border-bottom: 1px solid rgba(255,255,255,.5); }
	.menu li { position: relative; font-size: 24px; font-size: 1.5rem; margin-left: 1.5em; }
	.menu li:first-child { margin-left: 0; }
	.menu a { border-top: 2px solid transparent; display: block; padding: 0 0 10px; color: #fff; text-decoration: none; }
	.menu a:before { content: ""; position: absolute; z-index: -1; left: 50%; right: 50%; top: 0; background: #fff; height: 2px; transition-property: left, right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; }
	.menu a:hover:before { left: 0; right: 0; }

		/* Second Tier ----- */
		.menu li > ul { display: none; position: absolute; top: 100%; left: 0; background-color: #fff; width: 250px; box-shadow: 0 5px 15px rgba(0,0,0,.3); text-align: left; }
		.menu li > ul:before { content: ''; position: absolute; top: -14px; left: 30px; border: 7px solid transparent; border-bottom-color: #fff; }
		.menu li:hover > ul { display: block; }
		.menu li li { display: block; margin-left: 0; font-size: 16px; }
		.menu li li a { color: #343434; padding: .5em 1em; }
		.menu li li a:hover { background: #ed1c24; color: #fff; }

		/* Third Tier ----- */
		.menu li li > ul { margin: 0; left: 100%; top: 0; background-color: #eee; box-shadow: inset 1px 0 3px rgba(0,0,0,.1); }
}

@media screen and (device-width: 320px) {
	/* iPhone 5 */
	.ql-header { left: 0; bottom: 0; }
}
