/* Defaults */

html {
    -webkit-text-size-adjust: none; /* Prevent font scaling in landscape */
}

.mobile,
#navigation,
#nav {
    display:none;
}


@media (max-width: 1500px) {
	.col-2 .col:nth-child(odd) {
		padding-right:40px;
	}

	.col-2 .col:nth-child(even) {
		padding-left:40px;
	}
}


@media (max-width: 1400px) {
	#about-intro .col-2 .col:first-child {
		width:655px;
	}

	#about-intro .col-2 .col:last-child {
		width:-webkit-calc(100% - 655px);
		width:-moz-calc(100% - 655px);
		width:calc(100% - 655px);
		padding-left:0;
	}
}


@media (max-width: 1350px) {
	.container {
		padding:100px 40px;
	}

	#home header .container {
		padding:138px 40px 40px 40px;
	}

	#homepage-our-services .container {
		padding-bottom:180px;
	}

	#homepage-our-services .col-2 .col {
		width:100%;
		padding:0;
	}

	#homepage-our-services .col-2 .col:first-child {
		padding:0 0 60px 0;
	}

	#homepage-our-services .photo-graph {
		height:auto;
	}

	#homepage-our-services .photo-graph .photo {
		width:400px;
		position:absolute;
		top:0;
		left:50%;
		transform:translate3d(0px, 0px, 0px) !important;
		margin:110px 0 0 -290px;
	}

	#homepage-our-services .photo-graph .graph {
		transform:translate3d(0px, 0px, 0px) !important;
		margin:0 auto;
		position:relative;
		right:-140px;
	}
	
	#our-nerds .col:first-child {
		width:100%;
		padding:0;
		margin:0 0 70px 0;
	}

	#our-nerds .col:last-child {
		width:100%;
		padding:0;
	}

	.subpage header .container-center {
		padding-top:170px;
	}

	.col-3 .col {
		margin-bottom:30px;
	}

	.col-3 .col:nth-child(3n + 1) {
		padding-right:30px;
	}

	.col-3 .col:nth-child(3n + 2) {
		padding-left:15px;
		padding-right:15px;
	}

	.col-3 .col:nth-child(3n + 3) {
		padding-left:30px;
	}

	.col-2.photo-left .col:nth-child(even) {
		padding-left:10px;
	}

	.col-2.photo-right .col:nth-child(odd) {
		padding-right:10px;
	}

	#footer-cta {
		padding:120px 40px;
	}

	#footer-cta .container-center {
    	padding:50px 25px;
	}

	footer article {
		padding:60px 0;
	}

	footer p.copyright {
		padding-left:0;
	}
}


@media (max-width: 1250px) {
	#home header .container {
		display:block;
		padding:150px 40px 100px 40px;
	}

	#home header .container article:first-child {
		width:100%;
	}

	#home header .container article:last-child {
		width:100%;
		max-width:800px;
		margin:0 auto;
	}

	.photo-left .col:nth-child(2) {
		padding-left:0 !important;
	}

	.popup {
		width:100%;
		padding:50px 40px;
	}

	.fancybox__slide .f-button[data-fancybox-close] {
		right:-8px;
	}

	footer ul {
		flex-wrap:wrap;
	}

	footer ul li {
		width:50%;
		margin:0;
	}

	footer ul li:first-child {
		margin-bottom:15px;
	}

	footer ul li:last-child {
		margin:0;
	}
}

@media (max-width: 1150px) {
	#desktop-nav {
		display:none;
	}

	#nav {
		width:auto;
		height:60px;
		display:flex;
		position: absolute;
		top:50%;
		right:30px;
		transform:translateY(-50%);
		display:flex;
		align-items:center;
		justify-content: right;
		cursor: pointer;
	}
	    

	#nav-button {
		position:relative;
		transform:translateY(0);
		transition:all 0ms 200ms;
	}

	#nav-button span {
		width:38px;
		height:2px;
		display:block;
		background:rgba(0, 44, 97, 1);
	}

	#nav-button.active .line2 {
		background:rgba(0, 44, 97, 0); 
	}

	#nav-button .line1 {
		position:absolute;
		left:0;
		bottom:9px;
		transition:bottom 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}

	#nav-button .line3 {
		position:absolute;
		left:0;
		top:9px;
		transition:top 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}

	#nav-button.active .line3 {
		top:0;
		transform:rotate(45deg);
		transition:top 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}

	#nav-button.active .line1 {
		bottom:0;
		transform:rotate(-45deg);
		transition:bottom 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}

	#navigation {
		width:100%;
		position:fixed;
		top:50%;
		transform:translateY(-50%);
		text-align:center;
		opacity:0;
		z-index:4;
		padding:60px 20px 0 20px;
	}

	#navigation-overlay {
		width:100%;
		height:100%;
		background:#002c61;
		position:fixed;
		z-index:3;
		display:none;
		opacity:0;
	}

	#navigation ul {
		list-style:none !important;
		margin:0;
	}

	#navigation li {
		padding:0;
		margin:0;
		list-style:none;
	}

	#navigation li a {
		font:bold 24px/26px "Host Grotesk", sans-serif;
		letter-spacing: 0.08em;
		color:#fff;
		text-decoration:none;
		text-transform:uppercase;
		display:block;
		padding:20px 0;
	}

	#featured {
		display:block;
		height:auto;
		min-height:auto;
	}

	#featured .container {
		padding:100px 40px 60px 40px;
		top:0;
	}

	#featured .featured-photo {
		width:800px;
		height:650px;
		position:relative;
		top:auto;
		right:auto;
		margin:0 auto;
		padding-bottom:120px;
	}

	#about-intro {
		display:block;
	}

	#about-intro .col-2 .col {
		width:100% !important;
		padding:0 !important;
	}

	#about-intro .col-2 .col:first-child {
		margin-bottom:50px;
	}

	.col-3 .col {
		width:50%;
	}

	.col-3 .col:nth-child(3n + 1) {
		padding-right:25px;
	}

	.col-3 .col:nth-child(3n + 2) {
		padding-left:25px;
		padding-right:0;
	}

	.col-3 .col:nth-child(3n + 3) {
		padding-left:0;
		padding-right:25px;
	}
}


@media (max-width: 1050px) {
	h1 {
		font:500 70px/78px "FFF Acid Grotesk", sans-serif;
	}

	.container-center {
		max-width:100%;
		text-align:left;
		padding:100px 40px;
		margin:0;
	}

	#partners ul li {
		width:33.3%;
		padding:0;
		margin:0;
	}

	#our-mission .col-2 .col:nth-child(odd) {
		padding-right:0;
	}

	.accordion-content .content {
		padding:0 40px 50px 40px;
	}

	.accordion-header span {
		width:50px;
		height:50px;
		right:30px;
		margin:-25px 0 0 0;
	}

	.col-2.photo-left .col:nth-child(odd) {
		width:100%;
		padding-right:0;
		margin-bottom:50px;
	}

	.col-2.photo-left .col:nth-child(even) {
		width:100%;
		padding:0;
	}

	.col-2.photo-right .col:nth-child(odd) {
		width:100%;
		padding-right:0;
		margin-bottom:50px;
	}

	.col-2.photo-right .col:nth-child(even) {
		width:100%;
		padding:0;
	}

	.popup .two-columns .col:nth-child(1) {
		padding:0 40px 0 0;
	}

	.popup .two-columns .col:nth-child(2) {
		padding:0 0 0 40px;
	}

	#case-studies .col-2.photo-left .col:nth-child(odd) {
		display:none;
	}

	#case-studies .col-2.photo-left .mobile {
		display:block;
	}

	footer article {
		display:block;
	}

	footer ul {
		padding-top:50px;
	}

	footer ul li {
		width:33.3%;
	}
}

@media (max-width: 900px) {
	#featured .featured-photo {
		width:100%;
		padding-left:0;
		padding-right:0;
        margin:0;
	}

	#our-mission .col-2 .col {
		width:100%;
		padding:0;
	}

	#our-mission .col-2 .col:first-child {
		margin-bottom:50px;
	}

	#footer-cta h3 {
		padding:0 0 30px 0;
	}

	#footer-cta a.btn {
		position:relative;
		top:auto;
		right:auto;
		transform:none;
	}
}

@media (max-width: 850px) {
	.subpage header .photo-overlap article:first-child {
		width:100%;
		transform:none !important;
		top:auto;
	}

	.subpage header .photo-overlap {
		margin:50px 0 0 0;
	}

	.subpage header .photo-overlap article:last-child {
		display:none;
	}

	.popup .two-columns {
		display:block;
	}

	.popup .two-columns .col {
		width:100%;
		padding:0;
	}

	.popup .two-columns .col:nth-child(1) {
		border-right:0;
		border-bottom:2px solid #e3edf8;
		padding-bottom:40px;
		margin-bottom:40px;
	}

	.popup .two-columns .col:nth-child(2) {
		padding-left:0;
	}

	footer ul li {
		width:50%;
	}

	footer ul li:first-child {
		margin-bottom:25px;
	}
}

@media (max-width: 750px) {
	.container {
		padding:90px 25px;
	}

	.container-center {
		padding:90px 25px;
	}

	nav {
		padding:25px 25px;
	}

	#nav {
		right:25px;
	}

	#home header .container {
		padding:150px 25px 60px 25px;
	}

	#homepage-our-services .photo-graph .graph {
		right:auto;
		float:right;
	}

	#homepage-our-services .photo-graph .photo {
		left:0;
		margin-left:0;
	}

	#our-nerds .col:last-child article {
		padding:50px 25px;
	}

	#featured .container {
		padding:90px 25px 60px 25px
	}

	#featured .featured-photo {
		padding-left:0;
		padding-right:0;
	}

	.accordion-content .content {
		padding:0 25px 50px 25px;
	}

	.accordion-header {
		padding:25px 100px 25px 25px;
	}

	.accordion-header span {
		right:20px;
	}

	#services h3 {
		font-size:28px;
		line-height:34px;
	}

	#footer-cta {
		padding:90px 25px;
	}

	.col-3 .col {
		width:100%;
		padding:0 !important;
	}

	.popup {
		padding:50px 25px;
	}
}


@media (max-width: 650px) {
	h1 {
		font-size:58px;
    	line-height:64px;
	}

	h2 {
		font:500 42px/50px "FFF Acid Grotesk", sans-serif;
	}

	h3 {
		font:500 34px/42px "FFF Acid Grotesk", sans-serif;
	}

	h4 {
		font:500 22px/32px "FFF Acid Grotesk", sans-serif;
	}

	h5 {
		font:bold 16px/16px "Host Grotesk", sans-serif;
	}

	#home header h1 {
		font-size:58px;
    	line-height:64px;
	}

	#our-nerds .col:last-child {
		display:block;
	}

	#our-nerds .col:last-child article {
		width:100%;
		margin-bottom:50px;
	}

	.misty-mountains-lighter {
		margin-bottom:0 !important;
	}

	#checkmark,
	#cross {
		left:25px;
	}

	#partners ul li {
		width:50%;
	}

	.better-for-everyone .meter {
		width:75px;
		top:60px;
	}

	.better-for-everyone h2:nth-child(2) {
		padding-left:100px;
	}

	.better-for-everyone h2:nth-child(3) {
		padding-left:100px;
	}

	.better-for-everyone span.blaster-bolt-highlight:after {
		width:90px;
		height:45px;
		background-size:80px 39px;
	}

	span.blaster-bolt-highlight {
		padding:0;
	}

	.subpage header .container-center {
		padding-top:150px;
		padding-bottom:80px;
	}

	footer .logo {
		margin:0;
	}

	footer ul li {
		width:100%;
		margin:0 0 40px 0;
	}

	footer ul li a {
		margin:0 0 10px 0;
	}
}


@media (max-width: 550px) {
	h1 {
		font-size:45px;
        line-height:50px;
	}

	h2 {
		font:500 38px/46px "FFF Acid Grotesk", sans-serif
	}

	h3 {
		font:500 30px/38px "FFF Acid Grotesk", sans-serif;
	}

	h4 {
		font:500 20px/28px "FFF Acid Grotesk", sans-serif;
		margin:0 0 20px 0;
	}

	p {
		font:normal 18px/25px "Host Grotesk", sans-serif;
	}

	ul li {
		font:normal 18px/22px "Host Grotesk", sans-serif;
	}

	#home header h1 {
		font-size:52px;
        line-height:60px;
	}

	.container {
		padding:80px 20px;
	}

	.container-center {
		padding:80px 20px;
	}

	nav {
		padding:20px 10px;
	}

	nav article {
		padding:15px 20px;
	}

	#nav {
		right:20px;
	}

	#home header .container {
		padding:140px 20px 50px 20px;
	}

	#home header .container article:last-child {
		height:auto;
	}

	#homepage-our-services .photo-graph .photo {
		width:300px;
	}

	#our-nerds .col:last-child article {
		padding:50px 20px;
	}

	.bx-wrapper {
		margin:0 !important;
	}

	#checkmark,
	#cross {
        left:20px;
    }

	#featured .container {
		padding:80px 20px 50px 20px;
	}

	#featured .featured-photo {
		height:450px;
		padding-left:0;
        padding-right:0;
	}

	.accordion-header {
		padding:20px 80px 20px 20px;
	}

	.accordion-header span {
		width:45px;
		height:45px;
		right:15px;
		top:20px;
		margin:0;
	}

	.accordion-header span svg {
		width:25px;
		height:25px;
		top:1px;
	}

	#case-studies .photo {
		height:375px;
	}

	#contact-us .photo {
		height:375px;
	}

	.two-columns {
		display:block;
	}

	.two-columns .col {
		width:100%;
	}

	.popup {
		padding:40px 20px;
	}

	.subpage header .photo-overlap article:first-child {
		height:auto;
	}

	.subpage header .photo-overlap article img {
		position:relative;
		top:auto;
		left:auto;
		transform:translate(0, 0);
		width:100%;
		height:auto;
	}

	#our-mission .photo,
	#contact-us .container-center .photo {
		height:auto;
	}

	#our-mission .photo img,
	#contact-us .container-center .photo img {
		position:relative;
		top:auto;
		left:auto;
		transform:translate(0, 0) !important;
		width:100%;
		height:auto;
	}

	#footer-cta .container-center {
		padding:50px 20px;
	}

	#footer-cta {
		padding:80px 20px;
	}

	footer {
		paddinG:25px 20px
	}
}


@media (max-width: 500px) {
	.better-for-everyone span.misty-mountains-highlight,
	.better-for-everyone .meter,
	.better-for-everyone span.blaster-bolt-highlight {
		display:none;
	}

	.better-for-everyone h2:nth-child(2),
	.better-for-everyone h2:nth-child(3) {
		padding-left:0;
	}

	.better-for-everyone h2 {
		display:inline;
	}
}


@media (max-width: 450px) {
	#home header h1 {
		font-size:42px;
        line-height:50px;
	}

	#homepage-our-services {
		padding-bottom:100px;
	}

	#homepage-our-services .photo-graph .photo {
		width:250px;
	}

	#home header .container {
		padding-top:120px;
	}

	#homepage-our-services .photo-graph .photo {
		width:300px;
		margin-top:230px;
	}

	#homepage-our-services .photo-graph .graph {
		width:300px;
	}

	#leadership .col-3 .portrait {
		height:350px;
	}
}

@media (max-width: 380px) {
	h2 {
		font:500 34px/42px "FFF Acid Grotesk", sans-serif;
	}

	h4 {
		font:500 18px/26px "FFF Acid Grotesk", sans-serif;
	}

	nav .logo {
		width:120px;
	}

	#home header h1 {
		font-size:38px;
        line-height:46px;
	}

	#partners ul li {
		width:100%;
	}

	#homepage-our-services .photo-graph .photo {
		width:100%;
	}

	#leadership .col-3 .portrait {
		height:320px;
	}

	footer .logo {
		width:220px;
	}
}