@media only screen and (max-width: 1480px) {
	.header-upper {
		padding: 0 45px;
	}
}


@media only screen and (max-width: 1160px) {
	iframe {
		max-width: 100% !important;
	}

	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Homepage -------------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.homepage .box-1,
	.homepage .box-1 .marquee-stage,
	.homepage .box-1 .marquee-stage .slide {
		height: 550px;
		line-height: 550px;
	}

	.homepage .box-1 .marquee-stage .slide h2 {
		font-size: 80px;
		line-height: 80px;
	}

	.homepage .box-2 {
		padding-left: 25px;
		padding-right: 25px;
	}

	.homepage .box-3 .image-stage-2 .slide .caption {
		font-size: 20px;
		line-height: 33px;
	}

	.homepage .box-3 .image-stage-2 .slide .caption strong {
		margin-top: 16px;
		font-size: 13px;
		line-height: 16px;
	}

	.homepage .box-4 {
		padding-left: 25px;
		padding-right: 25px;
	}

	.homepage-technology-blocks li a .overlay {
		left: 5px;
		right: 5px;
	}
}


/* ---------------------------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------------------- */


@media only screen and (max-width: 1024px) {
	body {
		padding-top: 60px;
	}
	
	.header {
		height: 60px;
	}

	.header-upper {
		padding: 0 15px;
	}
	
	.header .logo {
		width: 33px;
	}

	
	/* ---------------------------------------------------------------------------------------------------------- */
	/* Nav Toggle ----------------------------------------------------------------------------------------------- */
	/* ---------------------------------------------------------------------------------------------------------- */
	.nav-toggle {
		color: #00529c;	
		cursor: pointer;
		display: block;
		float: right;
		height: 20px;
		margin-top: 20px;
		padding-right: 50px;
		position: relative;
		line-height: 13px;
		text-decoration: none;
		z-index: 102;
		width: 29px;
	}

	.nav-toggle:hover {
		color: #00529c;	
		text-decoration: none;
	}

	.nav-toggle-text {
		font-size: 12px;
		transition: all .2s ease;
	}

	.nav-toggle .first {
		width: 30px;
		right: 0;
		top: 0;
	}

	.nav-toggle .second {
		width: 30px;
		top: 8px;
	}

	.nav-toggle .third {
		width: 20px;
		top: 16px;
	}

	.nav-toggle .first, .nav-toggle .second, .nav-toggle .third {
		background-color: #00529c;
		height: 2px;
		border-radius: 2px;
		position: absolute;
		transition: all .3s ease;
		right: 0;
	}

	.nav-active .nav-toggle .first,
	.nav-active .nav-toggle .third {
		transform: rotate(45deg);
		width: 25px;
		top: 8px;
	}

	.nav-active .nav-toggle .second {
		opacity: 0;
	}

	.nav-active .nav-toggle .third {
		transform: rotate(-45deg);
	}

	.nav-active .nav-toggle-text {
		opacity: 0;
	}


	/* ---------------------------------------------------------------------------------------------------------------------- */
	/* Primary Navigation --------------------------------------------------------------------------------------------------- */
	/* ---------------------------------------------------------------------------------------------------------------------- */
	.body-wrap {
		position: relative;
	}
	
	.primary-navigation-wrap {
		background: #ffffff;
		bottom: 0;
		box-shadow: 0 0 15px rgba(0,0,0,.25);
		right: -100%;
		float: none;
		margin: 0;
		overflow: auto;
		padding: 50px 0 0 0;
		position: fixed;
		top: 0;
		-webkit-transition: right 0.2s ease;
		transition: right 0.2s ease;
		width: 300px;
		z-index: 100;
	}
	
	.nav-active .primary-navigation-wrap {
		right: 0;
	}
	
	.primary-navigation-wrap > ul > li {
		float: none;
	}
	
	.primary-navigation-wrap > ul > li > a {
		height: auto;
		line-height: 100%;
		padding: 12px 20px;
		text-align: left;
	}
	
	.primary-navigation-wrap > ul > li.sub {
		padding: 0;
	}
	
	.primary-navigation-wrap > ul > li.sub > a {
		background-position: 95% 50%;
	}
	
	.primary-navigation-wrap > ul > li > ul {
		padding: 5px 0;
	}
	
	.primary-navigation-wrap > ul > li > ul > li > ul > li {
		padding-left: 20px;
	}
	
	.primary-navigation-wrap > ul > li ul {	
		display: none;
	}
}


/* ---------------------------------------------------------------------------------------------------------------------- */
/* Skinny Landscape Size (ipad landscape) ------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 960px) {
	p img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Homepage -------------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.homepage .box-1,
	.homepage .box-1 .marquee-stage,
	.homepage .box-1 .marquee-stage .slide {
		height: 420px;
		line-height: 420px;
	}

	.homepage .box-1 .marquee-stage .slide h2 {
		font-size: 60px;
		line-height: 60px;
	}

	.homepage .box-3 .image-stage-2 .slide .caption {
		font-size: 14px;
		line-height: 23px;
	}

	.homepage .box-3 .image-stage-2 .slide .caption strong {
		font-size: 11px;
		line-height: 14px;
	}

	.homepage-technology-blocks {
		text-align: center;
	}

	.homepage-technology-blocks li {
		display: inline-block;
		float: none;
		width: 32%;
		vertical-align: top;
	}

	.homepage-technology-blocks li:nth-child(3) a {
		border:0;
	}
}


@media only screen and (max-width: 820px) {
	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Main Content Side Bar ------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.main-content.has-side-boxes,
	.side-boxes,
	.blog-left-column,
	.blog-right-column {
		float: none;
		width: auto;
	}
}


/* ---------------------------------------------------------------------------------------------------------------------- */
/* Mobile Portrait Size (devices and browsers) -------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 780px) {
	html { font-size: 62.5%; } 

	body {
		background: #ffffff;
		font-size: 1.6rem;
	}

	p {
		line-height: 2.6rem;
	}
	
	.banner-override {
		height: 250px;
		line-height: 250px;
	}

	.banner-override .heading h1 {
		font-size: 18px;
		margin-bottom: 13px;
	}

	.banner-override .heading h1.single,
	.banner-override .heading h2 {
		font-size: 70px;
	}

	.inside-page {
		padding: 15px;
	}
	
	
	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Footer ---------------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */	



	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Homepage -------------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.homepage .box-1,
	.homepage .box-1 .marquee-stage,
	.homepage .box-1 .marquee-stage .slide {
		height: 320px;
		line-height: 320px;
	}

	.homepage .box-1 .marquee-stage .slide h2 {
		font-size: 40px;
		line-height: 40px;
	}
	
	.homepage .box-2 h2 {
		font-size: 35px;
	}
	
	.homepage .box-2 p {
		font-size: 14px;
		line-height: 25px;
	}
	
	.homepage .box-3 .image-stage-2 .slide .image {
		width: 100%;
	}
	
	.homepage .box-3 .image-stage-2 .slide > .wrapper {
		background: rgba(255,255,255,0.76);
		border: 0;
		left: 10px;
		right: 10px;
		bottom: 10px;
		top: 10px;
		width: auto;
	}
	
	.homepage-projects-grid {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.homepage-projects-grid li {
		margin-bottom: 10px;
		width: 50%;
	}
	
	.homepage-projects-grid li:nth-child(3n+1),
	.homepage-projects-grid li:nth-child(3n+3),
	.homepage-projects-grid li:nth-child(3n+2) {
		padding-left: 0;
		padding-right: 0;
	}

	.homepage-projects-grid li:nth-child(2n+1) {
		padding-right: 5px;
	}
	
	.homepage-projects-grid li:nth-child(2n+2) {
		padding-left: 5px;
	}
	

	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Additional Options ---------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */	
	.cms-table { width: 100%; }
	.main-content table.cms-table td { text-align: left; margin: 0; }
	.cms-table input,
	form .field-wrap textarea,
	form .field-wrap input,
	form .field-wrap select,
	form .field-wrap textarea,
	input, select, textarea {
		max-width: 100%;
		min-width: 100%;
		width: 100%;
	}

	.image-right,
	.image-left {
		display: block;
		float: none;
		margin: 0 0 20px 0 !important;
	}
	
	p .button.fr {
		display: block;
		float: none;
		margin: 0 auto 10px auto;
		max-width: 200px;
		text-align: center;
	}
	
	img {
		height: auto !important;
		max-width: 100% !important;
	}
	
	iframe {
		max-width: 100% !important;
	}
	
	table.form tr td {
		display: table;
		width: 100% !important;
	}
	
	table.form tr td:last-child {
		padding: 0 0 10px 0;
	}
	
	.main-content table td {
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		display: table;
		margin-bottom: 25px;
		padding: 10px auto !important;
		width: 100% !important;
		text-align: center;
	}

	.main-content table td ul {
		text-align: left;
	}

	.main-content table td img {
		width: auto !important;
	}
	
	form.category-and-window {
		height: auto;
	}
	
	form.category-and-window select {
		float: none;
		display: block;
	}
	
	form.category-and-window .text-search-wrap {
		float: none;
		min-height: 30px;
		margin: 10px 0;
	}
	
	.job-board-items {
		clear: both;
	}
	
	.main-content table.info-table td {
		display: table-cell;
		margin: 0;
		text-align: left;
	}
	
	.main-content table.display-table {
		max-width: 100% !important;
		width: auto !important;
	}
	
	.main-content table.display-table h2 {
		font-size: 20px;
	}
	
	.main-content table.display-table td {
		text-align: left;
		display: table-cell;
		width: auto !important;
	}

	
	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Tables ---------------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.page-type-23 table {
		width: 100% !important;
		padding: 0 !important;
	}
	
	.page-type-23 table td {
		display: table;
		width: 100% !important;
		padding: 30px 0 !important;
	}


	.right-side.full-width .feedback-form-wrap,
	.right-side.full-width .driving-directions-wrap {
		float: none;
		width: auto;
	}


	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Toggle More ----------------------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.toggle-more-link a {
		background: url(/images/icons/toggle-plus.png) 0% 45% no-repeat;
		font-family: 'Montserrat', sans-serif;
		font-weight: 500;
		padding-left: 14px;
		text-decoration: none;
		text-transform: uppercase;
	}

	.toggle-more-link a:hover {
		text-decoration: underline;
	}

	.toggle-more-link.selected a {
		background-image: url(/images/icons/toggle-minus.png);
	}

	.toggle-more-content {
		display: none;
		line-height: 24px;
		margin-bottom: 10px;
		padding: 10px 0;
	}
}


/* ---------------------------------------------------------------------------------------------------------------------- */
/* Mobile Portrait Size (devices and browsers) -------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 450px) {
	h2 {
		font-size: 25px;
	}

	h3, 
	h2.title {
		font-size: 20px;
		margin: 0 0 10px 0;
	}

	h4 {
		font-size: 18px;
	}

	.heading-wrap {
		height: auto;
	}
	
	.right-side h1 {
		width: auto;
	}

	.heading-wrap h1 {
		font-size: 22px;
		height: auto;
		line-height: 100%;
	}
	
	.list-item.resource-item .button.fr {
		display: none;
	}
	
	.inside-page .right-side.full-width {
		padding: 0;
	}

	.banner-override {
		height: 200px;
		line-height: 200px;
	}

	.banner-override .heading h1 {
		font-size: 18px;
		margin-bottom: 13px;
	}

	.banner-override .heading h1.single,
	.banner-override .heading h2 {
		font-size: 40px;
	}
	
	.footer {
		text-align: center;
	}
	
	.footer p {
		display: block;
		text-align: center;
	}
	
	.footer p.copyright {
		margin-top: 10px;
	}
	
	.footer p.powered-by {
		margin-top: 10px;
	}

	.footer .social-media-wrap {
		float: none;
		margin-bottom: 20px;
		text-align: center;
	}
	
	
	/* ---------------------------------------------------------------------------------------------------------------------- */
	/* Homepage ------------------------------------------------------------------------------------------------------------- */
	/* ---------------------------------------------------------------------------------------------------------------------- */
	.homepage .box-1 .marquee-stage .slide h2 {
		font-size: 30px;
		line-height: 35px;
		padding: 0 20px;
	}
	
	.homepage-technology-blocks li {
		display: block;
		width: auto;
	}

	.homepage-technology-blocks li a {
		border: 0;
		border-bottom: 1px solid #00529c !important;
	}
	
	.homepage-projects-grid li {
		float: none;
		width: auto;
	}
	
	.homepage-projects-grid li:nth-child(2n+1),	
	.homepage-projects-grid li:nth-child(2n+2) {
		padding: 0;
	}
	
	.homepage-projects-grid li a .overlay,
	.homepage-projects-grid li a .overlay .caption {
		margin: 0;
		opacity: 1;
		filter: alpha(opacity=100);
	}

	#twitter-feed .twitter-article {
		border: 0;
		border-bottom: 1px solid #00529c;
		float: none;
		padding: 10px 0;
		width: auto;
	}

	#twitter-feed .twitter-article.last {
		border: 0;
	}
	
	#twitter-feed .twitter-article .inner {
		min-height: 1px !important;
	}

	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Inside Page Upper Footer ---------------------------------------------------------------------------------------------- */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	.inside-page-upper-footer .wrapper {
		padding: 30px 0;
	}

	.inside-page-upper-footer p {
		font-size: 26px;
		line-height: 26px;
	}

	
	
	/* ----------------------------------------------------------------------------------------------------------------------- */
	/* Directions Page Mobile Fixes ------------------------------------------------------------------------------------------ */
	/* ----------------------------------------------------------------------------------------------------------------------- */
	#recaptcha_image {
		max-width: 100% !important;
	}
	
	body.page-type-13 .main-content table > tbody > tr > td {
		display: table;
		width: 100%;
		padding-bottom: 20px;
	}
	
	body.page-type-13 .main-content table.cms-table > tbody > tr > td {
		padding: 0;
	}
	
	#dd-print-button {
		display: none;
	}
}