@font-face {
	font-family: 'Ivar Text';
	src: url('../fonts/IvarText-SemiBold.woff2') format('woff2'),
		url('../fonts/IvarText-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'Ivar Text';
	src: url('../fonts/IvarText-Regular.woff2') format('woff2'),
		url('../fonts/IvarText-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Ivar Text';
	src: url('../fonts/IvarText-Italic.woff2') format('woff2'),
		url('../fonts/IvarText-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Ivar Text';
	src: url('../fonts/IvarText-BoldItalic.woff2') format('woff2'),
		url('../fonts/IvarText-BoldItalic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'Ivar Text';
	src: url('../fonts/IvarText-Bold.woff2') format('woff2'),
		url('../fonts/IvarText-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-Bold.woff2') format('woff2'),
		url('../fonts/National2-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-BoldItalic.woff2') format('woff2'),
		url('../fonts/National2-BoldItalic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-Medium.woff2') format('woff2'),
		url('../fonts/National2-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-Regular.woff2') format('woff2'),
		url('../fonts/National2-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-RegularItalic.woff2') format('woff2'),
		url('../fonts/National2-RegularItalic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-Light.woff2') format('woff2'),
		url('../fonts/National2-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: 'National 2';
	src: url('../fonts/National2-LightItalic.woff2') format('woff2'),
		url('../fonts/National2-LightItalic.woff') format('woff');
	font-weight: 300;
	font-style: italic;
}
@font-face {
	font-family: Icons;
	src: url('../fonts/icons.woff') format('woff');
}
/*
	medium: \e900
	facebook: \e901
	twitter: \e902
	instagram: \e903
	email: \e904
	linkedin: \e905
	arrow right: \e906
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}
@media screen {
	html, body {font-size: 100%;}
	html {height: 100%;}
	html:before {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		color: red;
		background-color: white;
		padding: .2em 1em;
		z-index: 1000;
	}	
	body {
		color: #233747;
		background-color: white;
		font: 1.25em/1.5 'National 2', Arial, Helvetica, Sans-serif;
		margin: 0 auto;
		padding: 0;
		min-height: 100%;
		position: relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	a {
		color: inherit;
		text-decoration: underline;
		word-break: break-word;
	}
	a:hover {text-decoration: none;}
	a img {border: none;}
	address {font-style: normal;}
	blockquote {
		margin: 1.5em 0;
		font-family: 'National 2', Arial, Helvetica, Sans-serif;
	}
	img, input, select, textarea {
		vertical-align: middle;
		margin: 0;
	}
	main img, main video {
		max-width: 100%;
		height: auto;
	}
	fieldset{
		margin: 0;
		padding: 0;
		border: none;
	}
	figure {margin: 0;}
	h1, h2, h3, h4, h5, h6, p, ul, ol {margin-top: 0;}
	h1, h2 {font: normal 3.2em/1.25 'Ivar Text', Georgia, 'Times New Roman', Times, Serif;}
	h3 {font: normal 1.7em/1.412 'National 2', Arial, Helvetica, Sans-serif;}
	h4 {font: bold 1em/1.5 'National 2', Arial, Helvetica, Sans-serif;}
	input, button {
		background-color: transparent;
		border-style: solid;
		border-color: inherit;
		border-radius: 0;
		border-width: 0 0 1px;
		color: inherit;
		box-sizing: border-box;
		line-height: 1;
		padding: .35em 0;
	}
	input[type=radio], input[type=checkbox] {
		padding: 0;
		border: none;
	}
	input.error {
		background-color: rgba(129, 21, 29, 0.2);
		box-shadow: none;
		border-color: #DA0000 !important;
	}
	input[type=submit], button {
		border-width: 1px;
		padding: .65em 1.6em;
		cursor: pointer;
		transition: all .25s;
		line-height: 120%;
	}
	input[type=submit][disabled], button[disabled] {
		cursor: not-allowed;
	}
	main {
		min-height: 10em;
		padding: 9em 0 4.5em;
	}
	p, ul, ol, dl {margin-bottom: 1.5em;}
	textarea {resize: vertical;}

	form label[for], form label[htmlFor] {
		position: absolute;
		cursor: text;
		transition: margin .25s;
		color: #D4D8DA;
		font-size: .7em;
		line-height: 120%;
	}
	form .focus label[for], form .focus label[htmlFor] {margin-top: -1em;}
	form label.error {
		color: #DA0000 !important;
		left: 0;
		top: 100%;
		max-width: 100%;
		margin: 0 !important;
	}
	form input[type=checkbox],
	form input[type=checkbox] + label
	{
		position: static;
		font-size: inherit;
	}
	form input[type=checkbox] {
		position: absolute;
		left: -9999em;
	}
	form input[type=checkbox] + label {
		cursor: default;
		position: relative;
		padding-left: 1.75em;
		line-height: 120%;
		display: table;
	}
	form input[type=checkbox] + label:before, form input[type=checkbox] + label:after {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		font-size: .8em;
	}
	form input[type=checkbox] + label:before {
		width: 1.25em;
		height: 1.25em;
		box-sizing: border-box;
		border: 1px solid #233747;
		background-color: white;
	}
	.style_alt ~ * form input[type=checkbox] + label:before {border-color: #D4D8DA;}
	form input[type=checkbox]:focus + label:before {
		outline: 1px dotted #D4D8DA;
		outline-offset: 1px;
	}
	form input[type=checkbox] + label:after {
		border: solid #0E171D;
		border-width: 0 1px 1px 0;
		width: .313em;
		height: .625em;
		transform: rotate(45deg);
		margin-left: .438em;
		margin-top: .188em;
		content: none;
	}
	form input[type=checkbox]:checked + label:after {content: '';}
	form input[type=radio] + label {
		transition-property: color, background-color, border-color;
		transition-duration: .25s;
	}
	form label.alert,
	form .focus label.alert
	{
		left: 0;
		top: 100%;
		max-width: 100%;
		margin-top: .214em;
		color: #DA0000;
	}
	form .website {
		position: absolute;
		left: -999em;
	}

	
	.dm-slate {background-color: rgb(35,55,71);}
	.dm-red {background-color: rgb(238,37,51);}
	.dm-purple {background-color: rgb(143,61,151);}
	.dm-blue {background-color: rgb(62,81,163);}
	.dm-green {background-color: rgb(57,184,133);}
	.dm-yellow {
		background-color: rgb(223,227,28);
		color: #233747;
	}
	.dm-gray-dark {background-color: rgb(179,180,178);}
	.dm-gray-medium {background-color: rgb(207,205,201);}
	.dm-gray-light {background-color: rgb(241,240,239);}
	
	.inner {
		max-width: 90.5em;
		margin: 0 auto;
	}

	body > header {
		font-family: 'National 2', Arial, Helvetica, Sans-serif;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		padding: 1.25em 0;
		z-index: 112;
	}
	body > header .inner	{position: relative;}
	body > header h1 {
		margin: 0;
		line-height: 1;
		font-size: 1em;
		background: no-repeat;
	}
	body > header h1 a {display: table;}
	body > header nav h2 {
		position: absolute;
		left: -9999em;
	}
	body > header nav input {
		position: absolute;
		left: -9999em;
	}
	body > header nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		position: absolute;
		right: 2.25em;
		top: -.35em;
		align-items: center;
		min-height: 2.25em;
	}
	body > header nav ul a {
		text-decoration: none;
		display: block;
	}
	header.style_alt h1 {
		background-image: url(../img/logo_white.svg);
		background-position: .031em;
	}
	header.style_alt h1 img {transform: translateY(-999em);}
	header.style_alt nav ul a {color: white;}
	
	#getintouch {font-family: 'National 2', Arial, Helvetica, Sans-serif;}
	.jsenabled #getintouch {
		position: fixed;
		top: 0;
		left: -9999em;
		width: 100%;
		z-index: 112;
		opacity: .01;
		transition-property: opacity, left;
		transition-duration: .25s, 0s;
		transition-delay: 0s, .25s;
	}
	#getintouch.visible {
		left: 0;
		opacity: 1;
		transition-duration: .25s, 0s;
		transition-delay: 0s;
	}
	.style_alt ~ #getintouch {
		background: rgb(14, 23, 29);
		color: white;
	}
	#getintouch .inner {position: relative;}
	#getintouch h2 {position: static;}
	#getintouch form legend {
		position: absolute;
		left: -999em;
	}
	#getintouch label {color: #7D8890;}
	#getintouch input[type=submit] {
		border-color: #233747;
		color: #233747;
	}
	#getintouch input[type=submit]:hover,
	#getintouch input[type=submit]:focus
	{
		color: white;
		background-color: #233747;
	}
	#getintouch input[type=submit][disabled],
	#getintouch input[type=submit][disabled]:hover
	{
		background-color: transparent;
		color: #7D8890;
		border-color: rgba(35,55,71,.25);
	}
	.style_alt ~ #getintouch input[type=submit] {
		color: white;
		border-color: inherit;
	}
	.style_alt ~ #getintouch input[type=submit]:hover,
	.style_alt ~ #getintouch input[type=submit]:focus
	{
		color: #0E171D;
		background-color: white;
		border-color: white;
	}
	.style_alt ~ #getintouch input[type=submit][disabled],
	.style_alt ~ #getintouch input[type=submit][disabled]:hover
	{
		color: #7D8890;
		border-color: #233747;
		background-color: transparent;
	}
	.jsenabled #getintouch {
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
		-webkit-backdrop-filter: blur(1.65em);
		backdrop-filter: blur(1.65em);
		background-color: rgba(255,255,255,.92);
		max-height: 100vh;
		overflow: auto;
	}
	.jsenabled .style_alt ~ #getintouch {background: rgba(14, 23, 29, 0.92);}
	#getintouch > .inner > .close {
		position: absolute;
		right: 3.1em;
		top: 1.25em;
		cursor: pointer;
		line-height: 120%;
		text-decoration: none;
		padding: .15em 2em .15em 0;
	}
	#getintouch > .inner .close:before,
	#getintouch > .inner .close:after
	{
		position: absolute;
		content: '';
		top: 50%;
		right: 0;
		height: .05em;
		width: 1.4em;
		background-color: #233747;
	}
	#getintouch > .inner .close:before {transform: rotate(45deg);}
	#getintouch > .inner .close:after {transform: rotate(-45deg);}
	.style_alt ~ #getintouch > .inner .close:before,
	.style_alt ~ #getintouch > .inner .close:after
		{background-color: white;}
	#getintouch .c_info input {
		width: 100%;
		border-bottom-color: #7D8890;
	}
	#getintouch .submit {display: flex;}
	#getintouch .submit p {margin-bottom: 0;}
	#getintouch.thankyou .inner {
		text-align: center;
		background: url(../img/check_black.svg) 50% 6.5em no-repeat;
	}
	.style_alt ~ #getintouch.thankyou .inner {background-image: url(../img/check_white.svg);}
	#getintouch.thankyou .inner .header {font: normal 4em/1.1 'Ivar Text', Georgia, "Times New Roman", Times, serif;}
	#getintouch.thankyou .inner .close {
		right: 50%;
		transform: translateX(50%);
		top: auto;
		bottom: 5.35em;
	}

	body > footer, body > footer h2 {font: 1em/1.5 'National 2', Arial, Helvetica, Sans-serif;}
	body > footer .inner {
		display: flex;
		justify-content: space-between;
		padding: 1.5em 2.25em 3em;
		position: relative;
	}
	body > footer .inner:before {
		content: '';
		position: absolute;
		border-top: 1px solid #C6C6C6;
		left: 0;
		right: 0;
		top: 0;
	}
	body.contact > footer .inner:before {content: none;}
	footer.style_alt {background-color: #F1F0EF;}
	body > footer .inner > * {
		font-size: .8em;
		flex: 1;
	}
	body > footer h2, body > footer .tagline {
		font-weight: bold;
		margin: 0 0 .5em;
	}
	body > footer address {
		display: block;
		margin-top: .5em;
	}
	body > footer .social {
		margin-left: -.5em;
		margin-top: 3em;
	}
	body > footer .social a, #leadership .contact a {
		transform: translateX(-9999em);
		display: inline-block;
		width: 1.5em;
		position: relative;
		margin-right: 1em;
		vertical-align: middle;
		text-decoration: none;
		font-size: 1.125em;
		word-break: normal;
	}
	body > footer .social a:before, #leadership .contact a:before {
		font: 1em/1 Icons;
		position: absolute;
		width: 100%;
		padding: .5em;
		text-align: center;
		transform: translateX(9999em);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	body > footer .social a:first-child:before {text-align: left;}
	.medium:before {content: '\e900';}
	.facebook:before {content: '\e901';}
	.twitter:before {content: '\e902';}
	.instagram:before {content: '\e903';}
	#leadership .contact a {
		margin: 0;
		text-align: left;
		color: #B3B4B2;
	}
	.linkedin:before {content: '\e905';}
	.email:before {content: '\e904';}
	
	main > h2, .inner > h2 {
		position: absolute;
		left: -9999em;
	}
	
	a.ideas {
		background: url(../img/brain_red.svg) -9999em 0 / contain no-repeat;
		border-radius: 44%;
		overflow: hidden;
		position: absolute;
		opacity: .85;
		transition: background-position 0s .25s;
	}
	a.ideas:hover {
		background-position: 0 0;
		transition-delay: 0s;
	}
	a.ideas img {
		transition: opacity .25s;
		width: auto !important;
	}
	a.ideas:hover img {opacity: 0 !important;}

	.video {
		position: relative;
		margin: 1.5em 0;
	}
	.video:after {
		content: '';
		display: block;
		padding-bottom: 56.25%;
	}
	.video iframe, .video > video {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%
	}
	img.fullbleed, .fullbleed img {
		width: 100%;
		height: auto;
	}
	.related {
		font-family: 'National 2', Arial, Helvetica, Sans-serif;
		position: relative;
		color: #233747;
	}
	.related:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		background-color: #233747;
		padding-top: 16.296%;
	}
	.style_alt + .related:before {background-color: #F1F0EF;}
	.related .inner {display: flex;}
	.related h3 {
		position: absolute;
		top: 0;
	}
	.related figure {
		font-weight: bold;
		position: relative;
		flex: 1;
	}
	.related figure + figure {margin-left: 3.333%;}
	.related figure a {
		background-color: #233747;
		display: block;
	}
	.related figure img {
		width: 100%;
		height: auto;
		margin-bottom: 1em;
		transition: opacity .25s;
		display: block;
	}
	.related figure a:hover img {opacity: .6;}

	body.case_study {font-family: 'Ivar Text', Georgia, 'Times New Roman', Times, Serif;}
	.case_study main {
		position: relative;
		padding-top: 0;
		padding-bottom: 0;
		z-index: 1;
		overflow-x: hidden;
	}
	.case_study main > header {
		height: 90vh;
		max-height: 62.5em;
		min-height: 30em;
		color: white;
		text-shadow: 0 0 1em rgba(0,0,0,.5);
		position: relative;
	}
	.case_study main > header img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.case_study main > header div {font-family: 'National 2', Arial, Helvetica, Sans-serif;}
	.case_study main > header div span {font-weight: bold;}
	.case_study main > header h2 {
		font-weight: normal;
		margin: 0;
		position: static;
	}
	.case_study main .intro {
		padding-top: 2.25em;
		background-color: white;
	}
	
	.case_study main .content {
		background-color: #233747;
		color: white;
		overflow: hidden;
	}
	.case_study main .content.style_alt {
		background-color: #F1F0EF;
		color: #233747;
	}
	.case_study main .content.proteus {color: #39B885;}
	.case_study main .content.cheetah {
		color: #EE2533;
		background-image: linear-gradient(#FFF,#FFF);
		background-size: 100% 16.8em;
		background-repeat: no-repeat;
	}
	.case_study main .content.docker {color: #3E51A3;}
	.case_study main .highlight {font-family: 'National 2', Arial, Helvetica, Sans-serif;}
	.case_study main h3 {font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;}
	
	.case_study .video video {
		background: url(../img/browser_chrome_705.png) top left / contain no-repeat, linear-gradient(#3A4B58,rgba(58,75,88,0)) 0 .3em / 100% 100% no-repeat;
		position: static;
	}
	.case_study .video:after {content: none;}
	.case_study .videos {
		position: relative;
		min-height: 100vh;
	}
	.case_study .videos h3 {
		position: absolute;
		left: -9999em;
	}
	.case_study .atmosphere img {width: 100%;}
	.case_study .related h3 {color: white;}
	.case_study .style_alt + .related h3 {color: #233747;}
	#prototypes.healthagen {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
	}
	#prototypes.healthagen img {
		box-shadow: 0 .5em 1.5em rgba(0,0,0,.1);
		padding-top: 2.778%;
		background: url(../img/browser_chrome_540.png) 0 0 / contain no-repeat;
	}
	#prototypes.schwab span {display: block;}
	.case_study .bloomberg .highlight {color: #39B885;}
	#partnership div {
		display: flex;
		align-items: center;
	}
	.proteus #partnership div img {
		box-shadow: 0 .5em 1.5em rgba(0,0,0,.1);
		border-radius: 6.944% / 3.219%;
	}
	.case_study main blockquote p {margin: 0;}
	.case_study main blockquote p:before {
		content: '“';
		position: absolute;
		margin-left: -.5em;
	}
	.case_study main blockquote p:after {content: '”';}
	.case_study main blockquote cite {font-style: normal;}
	.case_study main blockquote cite span {font-weight: bold;}
	.case_study main blockquote cite span span {
		position: absolute;
		left: -9999em;
	}
	.docker #work {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	}

	
	.home main {
		padding-top: 0;
		padding-bottom: 0;
		background-color: #223747;
		color: white;
	}
	.home main > .intro {
		color: white;
		margin-bottom: 0;
		transition: background-color 1s ease-in;
	}
	.home main > .intro .inner {
		padding-top: 8.95em;
		padding-bottom: 6em;
	}
	.home main > .intro .alert {
		background-color: red;
		color: white;
		text-align: center;
		padding: 2em;
		font-weight: bold;
		font-size: 1.2em;
		margin-top: -2em;
	}
	.home main > .intro .inner > :first-child {
		font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		font-weight: bold;
	}
	.home main > .intro .inner .homecta a {
		border: 1px solid;
		border-color: inherit;
		text-decoration: none;
		display: inline-table;
		transition-property: color, background-color, border-color;
		transition-duration: .25s;
		line-height: 120%;
		margin-right: 1em;
	}
	.home main > .intro .inner .homecta a:hover {
		background-color: white;
		color: #233747;
		border-color: white;
	}
	.home #case-studies {
		margin: 0 0 4.5em;
		height: 90vh;
		min-height: 30em;
		max-height: 62.5em;
	}
	.home #case-studies h2 {
		position: absolute;
		left: -9999em;
	}
	.home #case-studies section {
		position: relative;
		margin-bottom: 1em;
		color: white;
		width: 100%;
		text-shadow: 0 0 1em rgba(0,0,0,.5);
		display: none;
		bottom: 0;
	}
	.home #case-studies #tab1 {display: block;}
	.jsenabled .home #case-studies section {
		margin-bottom: 0;
		display: block;
		position: absolute;
		left: -9999em;
	}
	.jsenabled .home #case-studies #tab1 {left: auto;}
	.home #case-studies section > div, .home #case-studies section > .more {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 10.313em;
		width: 100%;
		max-width: 95em;
		box-sizing: border-box;
		padding: 0 2.25em;
		z-index: 1;
	}
	.home #case-studies section > div {right: 0;}
	.home #case-studies section h3 {
		font-weight: bold;
		margin: 0;
		font-size: 1em;
		line-height: 1.5;
	}
	.home #case-studies section > div div {font: 3.2em/1.25 'Ivar Text', Georgia, 'Times New Roman', Times, Serif;}
	.home #case-studies section img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.home #case-studies section > .more {
		bottom: 7.5em;
		text-decoration: none;
		display: flex;
		align-items: center;
		overflow: hidden;
		padding: 0;
		margin-left: calc(-50% + 2.25em);
		width: auto;
		transform: none;
	}
	.home #case-studies .cycle-pager {display: none;}
	.jsenabled .home #case-studies .cycle-pager {
		position: absolute;
		left: 50%;
		width: 100%;
		transform: translateX(-50%);
		right: 0;
		bottom: -1px;
		z-index: 111;
		display: flex;
		padding: 0;
		margin: 0;
		list-style: none;
		max-width: 95em;
	}
	.home #case-studies .cycle-pager li {
		flex: 1.625 1 auto;
		background-color: #223747;
		transition: background-color .25s;
	}
	.home #case-studies .cycle-pager li:last-child {
		flex-grow: 2;
		margin-left: -0.05em; /* fix gap due to rounding error in Webkit */
	}
	.home #case-studies .cycle-pager .active, .home #case-studies .cycle-pager li:hover {background-color: rgba(34,55,70,.3);}
	.home #case-studies .cycle-pager li a {
		display: block;
		text-decoration: none;
		line-height: 1;
		padding: 1.375em 2.25em;
	}
	.home main .middle {
		display: flex;
		padding-bottom: 4.5em;
		position: relative;
	}
	.home main .middle > * {flex: 1 0 auto;}
	.home main .middle h2 {
		font: 1.7em/1.412 'National 2', Arial, Helvetica, Sans-serif;
		margin-bottom: 1.324em;
	}
	.home main .middle img {
		width: 100%;
		transition: opacity .25s;
	}
	.home main .middle a:hover img {opacity: .6;}
	.home main .middle ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.home main .middle ul li {
		margin-bottom: 3em;
		font-weight: bold;
	}
	.home main .middle a {text-decoration: none;}
	.home main .middle ul li img {margin-bottom: .75em;}
	.home main .middle ul li img {margin-bottom: .75em;}
	.home main .middle #work {
		margin-right: 7.143%;
		flex-basis: 63.095%;
	}
	.home main .middle #work ul li span {
		font-weight: normal;
		display: block;
	}
	.home main .middle #work ul li span span {display: none;}
	.home main .middle #ideas {flex: 29.762%;}
	.home main .middle #ideas ul li {margin-bottom: 75px;}
	.home main .middle #ideas ul li:last-child {margin-bottom: 50px;}
	a.more {
		display: inline-flex;
		align-items: center;
		overflow: hidden;
		text-decoration: none !important;
	}
	a.more:before {
		content: '\e906';
		font: 1em Icons;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		margin-right: .5em;
		margin-left: -1em;
		transition: margin-left .25s ease-out;
	}
	a.more:hover:before	{margin-left: 0;}
	
	.home #careers .inner {background-repeat: no-repeat;}
	.home #careers h2 {
		font: bold 1em 'National 2', Arial, Helvetica, Sans-serif;
		position: static;
	}
	.home #careers a {text-decoration: none;}
	
	
	#overview .case_studies, #other-clients ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	#overview .case_studies li a {
		text-decoration: none;
		display: block;
		box-sizing: border-box;
		background: -9999em top / 100% auto no-repeat;
	}
	#overview .case_studies li a span {
		font-weight: bold;
		display: block;
	}
	#overview .case_studies li a span span {display: none;}
	.bottom {background-color: #F1F0EF;}
	.bottom .inner {position: relative;}
	/* Contact page text rotator */
	.anim .rotate {
		padding: 0;
		list-style: none;
		position: relative;
		margin-top: -1em;
	}
	.anim .rotate li {
		position: absolute;
		width: 100%;
		top: 0;
		transform: translateY(-2em);
		opacity: 0;
	}
	.anim .rotate .active {
		position: static;
		transform: translateY(0);
		opacity: 1;
		transition-property: transform, opacity;
		transition-duration: .5s;
	}
	/* end Contact page text rotator */
	ul.contact {
		padding: 0;
		list-style: none;
		margin: 0;
	}
	ul.contact b {
		font-weight: normal;
		color: #EE2533;
	}
	ul.contact a {text-decoration-color: #5A6975;}
	ul.contact span {font-weight: bold;}
	ul.contact span span {
		position: absolute;
		left: -9999em;
	}
	
	.contact main {padding-bottom: 0;}
	.ideas main, .idea main {
		background-color: #223747;
		color: white;
	}
	.ideas main {padding-top: 11.15em;}
	.ideas #filter,
	.ideas .overview {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.ideas #filter li {opacity: .5;}
	.ideas #filter li.active, .ideas #filter li:hover {opacity: 1;}
	.ideas #filter li a {text-decoration: none;}
	.ideas #filter .active a {
		cursor: default;
		text-decoration: none !important;
	}
	.ideas .overview li {
		font-weight: bold;
		transition: background-color .25s;
	}
	.ideas .overview li.noimg {font-weight: normal;}
	.ideas .overview .dm-slate:hover {background-color: rgba(35,55,71,.6);}
	.ideas .overview .dm-red:hover {background-color: rgba(238,37,51,.6);}
	.ideas .overview .dm-purple:hover {background-color: rgba(143,61,151,.6);}
	.ideas .overview .dm-blue:hover {background-color: rgba(62,81,163,.6);}
	.ideas .overview .dm-green:hover {background-color: rgba(57,184,133,.6);}
	.ideas .overview .dm-yellow:hover {background-color: rgba(223,227,28,.6);}
	.ideas .overview .dm-gray-dark:hover {background-color: rgba(179,180,178,.6);}
	.ideas .overview .dm-gray-medium:hover {background-color: rgba(207,205,201,.6);}
	.ideas .overview .dm-gray-light:hover {background-color: rgba(241,240,239,.6);}
	.ideas .overview li.style_alt {color: #233747;}
	.ideas .overview li a {
		display: block;
		position: relative;
		text-decoration: none;
		box-sizing: border-box;
	}
	.ideas .overview li a img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: opacity .25s;
	}
	.ideas .overview li:hover img {opacity: .6;}
	.ideas .overview li a span {
		position: absolute;
		bottom: 1.25em;
		left: 1.5em;
		right: 1.5em;
		transition: all .25s;
	}
	.ideas .overview li.highlight a span,
	.ideas .overview li.noimg a span
	{
		bottom: .735em;
		left: .882em;
		right: .882em;
	}
	.ideas .overview li.noimg a span {
		bottom: auto;
		top: .735em;
	}
	.ideas .overview li:hover a span {bottom: 1.75em;}
	.ideas .overview li.highlight:hover a span {bottom: .9em;}
	.ideas .overview li.noimg:hover a span {
		bottom: auto;
		top: .5em;
	}
	.ideas > footer {
		background-color: #233747;
		color: white;
	}
	.idea > footer {
		background-color: white;
		color: #233747
	}
	.idea article {
		font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		position: relative;
	}
	article blockquote cite {display: block;}
	.meta, .idea article > footer {font-family: 'National 2', Arial, Helvetica, Sans-serif;}
	.meta {
		position: relative;
		left: 0;
		padding-left: 6em;
	}
	.author {font-weight: bold;}
	.author span {
		position: absolute;
		left: -9999em;
	}
	.author img {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	article h3 {
		font-weight: bold;
		font-size: 1em;
	}
	article ul, article ol {
		margin-left: 0;
		padding-left: 1em;
	}
	.idea article img, .idea article figure {
		margin: 1em 0 1.75em 0;
		display: block;
	}
	.idea figure img {margin: 0;}
	.idea article .author img {margin: 0;}
	.idea article .fullbleed img {margin: 0;}
	main .fullwidth img {width: 100%;}
	main figcaption {font-weight: bold;}
	.idea article > footer {
		position: absolute;
		bottom: 100%;
		left: 0;
		width: 100%;
	}
	.idea article > footer a {text-decoration: none;}
	.idea article > footer .categories span {
		position: absolute;
		left: -9999em;
	}
	.idea article > footer .back {
		position: absolute;
		bottom: 6em;
		display: flex;
		align-items: center;
	}
	.idea article > footer .back:before {
		content: '\e906';
		font-family: Icons;
		margin-right: .5em;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		overflow: hidden;
		transition: text-indent .25s ease-out;
		transform: rotate(180deg);
		text-indent: -1em;
		display: block;
		line-height: 1;
	}
	.idea article > footer .back:hover:before {text-indent: 0;}
	.idea .related h3 {color: white;}

	.careers main > h2 {
		font: bold 1em/1.5 'National 2', Arial, Helvetica, Sans-serif;
		position: static;
	}
	.careers .hero {position: relative;}
	.careers .hero img {width: 100%;}
	.careers .hero img ~ img {display: none;}
	.jsenabled .careers .hero img ~ img {
		display: inline;
		position: absolute;
		left: -9999em;
	}
	.cycle-carousel-wrap {
		width: 100%;
		top: -9999em;
	}
	.careers .controls {position: relative;}
	.careers .controls .next, .careers .controls .prev {
		position: absolute;
		display: flex;
		align-items: center;
		line-height: 1;
		overflow: hidden;
		cursor: pointer;
		text-decoration: none;
	}
	.careers .controls .next {
		left: 100%;
		margin-left: -2.3em;
	}
	.careers .controls .prev {transform: rotate(180deg);}
	.careers .controls .next:hover, .careers .controls .prev:hover {color: rgb(238,37,51);}
	.careers .controls .next:before, .careers .controls .prev:before {
		content: '\e906';
		font: 1em Icons;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		margin-right: .5em;
		margin-left: -1em;
		transition: margin-left .25s ease-out;
		display: block;
	}
	.careers .controls .next:hover:before, .careers .controls .prev:hover:before {margin-left: 0;}
	.careers .intro > :first-child ~ * {
		font-size: 1em;
		line-height: 1.5;
	}
	.careers main > .intro + section h3 {font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;}
	.careers #jobs {background-color: rgb(241,240,239);}
	.careers main dl {border-top: 1px solid #CFCDC9;}
	.careers main dt {font-weight: bold;}
	.careers main dt, .careers main dd {
		margin: 0;
		border-bottom: 1px solid #CFCDC9;
	}

	.profile main {padding-top: 0;}
	.profile .hero {
		position: relative;
		margin-bottom: 4.5em;
		text-shadow: 0 0 1em rgba(0,0,0,.5);
		height: 90vh;
		min-height: 30em;
		max-height: 62.5em;
	}
	.profile .hero img {width: 100%;}
	.profile .hero video, .profile .hero img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.profile .hero p {
		font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		color: white;
		margin: 0;
	}
	.profile main > h2 {
		position: relative;
		left: 0;
		z-index: 2;
		margin-bottom: -.5em;
	}
	#leadership {background-color: #F1F0EF;}
	#leadership .inner {
		display: flex;
		position: relative;
		justify-content: space-between;
	}
	#leadership h3 {position: absolute;}
	#leadership h4 {margin-bottom: 0;}
	#leadership .contact a {margin-right: .25em;}
	#leadership .contact .linkedin {
		width: 1em;
		width: 1.227em;
	}
	#leadership .contact .email {width: 1.222em;}
	#leadership .contact a:before {width: 100%;}
	#leadership .contact .linkedin:before {padding: .227em 0 .227em .227em;}
	#leadership .contact .email:before {padding: .278em .278em .278em 0;}
	#profile h3 {
		font-size: 1em;
		line-height: 1.5;
		font-weight: bold;
		margin-bottom: 1.5em;
	}
	.profile #other-clients ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		align-items: center;
		justify-content: space-between;
		overflow: visible;
	}
	.profile #other-clients ul li {text-align: center;}
	#timeline div {overflow: auto;}
	#timeline img {max-width: none;}
	
	.campaign > header nav ul a {opacity: 1;}
	.campaign > footer .inner:before {content: none;}
	.campaign main {
		padding-top: 0;
		background-color: #223747;
		color: white;
	}
	.campaign h3 {
		font-size: 1em;
		font-weight: bold;
	}
	.campaign .hero {
		background: top center / auto 100% no-repeat;
		min-height: 37em;
		overflow: hidden;
		margin-bottom: 3.75em;
	}
	.campaign > main > .hero	{color: #233747;}
	.campaign > .style_alt + main > .hero	{color: white;}
	.campaign .hero .inner {
		padding-top: 7.5em;
		position: relative;
	}
	.campaign .hero h2 {
		font-weight: 600;
		font-size: 3.6em;
		line-height: 1.167;
		margin-bottom: .556em;
	}
	.campaign .hero form {margin-bottom: 3.5em;}
	.campaign .hero legend {
		position: absolute;
		left: -9999em;
	}
	.campaign .hero fieldset .container > div {
		margin-bottom: 2em;
		position: relative;
	}
	.campaign .hero form input, .campaign .hero form button {width: 100%;}
	.campaign .hero form input {border-color: #D4D8DA;}
	.campaign .hero form input:focus {outline: /* 1px dotted #D4D8DA; */none;}
	.campaign .hero form input.error {border-color: #DA0000;}
	.campaign .hero .submit input {
		background-color: white;
		color: #0E171D;
		border-color: white;
		height: auto;
	}
	.campaign .submit input:hover, .campaign .submit input:focus {
		background-color: #0E171D;
		color: white;
	}
	.campaign .hero .submit input[disabled], 	.campaign .hero .submit input[disabled]:hover {
		background-color: transparent;
		color: white;
		opacity: .4;
	}
	.campaign .hero .submit p {
		line-height: 120%;
		margin-bottom: 0;
		color: #D4D8DA;
	}
	.campaign .hero input[type=checkbox] + label {color: white;}
	.campaign .hero form > .submit {margin-left: 0;}
	.campaign main .inner > .content {max-width: 38.35em;}
	.campaign #thankyou {
		border-top: 1px solid white;
		background: url(../img/check_white.svg) 0 2.15em / 3.5em auto no-repeat;
	}
	.campaign #thankyou .header {
		font: 500 1.6em/110% 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		margin-bottom: .313em;
	}
	.campaign main blockquote {border-left: 1px solid #D4D8DA;}
	.campaign main blockquote p {
		font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		font-weight: bold;
	}
	.campaign main blockquote cite {
		font-style: normal;
		line-height: 170%;
	}
	.campaign main blockquote cite:before {
		content: '—';
		margin-right: .25em;
	}
}
/*! large viewports */
@media screen and (min-width: 48.063em) {
	html:before {content: 'large';}
	.inner {padding: 0 2.25em;}
	.small_only {display: none;}
	body > header {
		position: fixed;
		background-color: rgba(255,255,255,0);
		-webkit-backdrop-filter: blur(0);
		backdrop-filter: blur(0);
	}
	body > header.bg {
		background-color: rgba(255,255,255,.9);
		-webkit-backdrop-filter: blur(.5em);
		backdrop-filter: blur(.5em);
}
	body > header.style_alt {background-color: rgba(35,55,71,0);}
	body > header.style_alt.bg {background-color: rgba(35,55,71,.9);}
	body > header nav ul li {
		margin-left: .75em;
		line-height: 120%;
	}
	body > header nav ul a {
		opacity: .5;
		transition: all .25s;
	}
	body.careers > header nav ul:hover a, body.home > header nav ul:hover a {opacity: .5;}
	body.careers > header nav ul a:hover, body.home > header nav ul a:hover {opacity: 1 !important;}
	body > header.style_alt nav ul a {
		opacity: 1;
		color: rgba(255,255,255,.5);
	}
	body > header nav ul a:hover,
	body > header nav ul .current a,
	.home > header nav ul a
		{opacity: 1;}
	body > header.style_alt nav ul a:hover,
	body > header.style_alt nav ul .current a,
	.home > header.style_alt nav ul a,
	body > header.style_alt nav ul .getintouch a
		{color: white;}
	body > header nav ul .home,
	body > header nav ul .careers
	{
		position: absolute;
		left: -9999em;
	}
	#getintouch .inner {
		display: flex;
		padding-top: 9.35em;
		padding-bottom: 3em;
	}
	#getintouch .inner > * {flex: 1;}
	#getintouch .intro {
/* 		max-width: 20em; */
		flex: 0 1 25.157%;
		margin-left: 4.843%;
		font-weight: 300;
	}
	#getintouch .inner > .intro > * {
		font-size: 1.6em;
		line-height: 120%;
	}
	#getintouch .inner > .intro h2 {
		font-size: 4em;
		line-height: 110%;
	}
	#getintouch form {
		max-width: 41em;
		margin-left: 5.031%;
	}
	#getintouch fieldset > div {display: flex;}
	#getintouch form .type {margin-bottom: 3.5em;}
	#getintouch form .type input {
		position: absolute;
		left: -999em;
	}
	#getintouch form .type select {display: none;}
	#getintouch form .type > div label {
		flex: 1;
		border-bottom: 1px solid #7D8890;
		text-align: center;
		font-size: 1em;
		line-height: 96%;
		padding: 1em 0;
		cursor: pointer;
		position: static;
		margin: 0;
	}
	#getintouch form .type > div input + label {
		color: #233747;
		border-color: #D4D8DA;
	}
	#getintouch form .type > div input:checked + label {
		font-weight: 500;
		background-color: #F0F0F0;
		border-color: #233747;
	}
	.style_alt ~ #getintouch form .type > div input + label {
		color: #D4D8DA;
		border-color: #7D8890;
	}
	.style_alt ~ #getintouch form .type > div input:checked + label {
		background-color: #233747;
		border-color: white;
		color: white;
	}
	#getintouch .c_info > div {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#getintouch .c_info > div > * {
		flex: 0 1 48.78%;
		margin-bottom: 2.35em;
		position: relative;
	}
	#getintouch .c_info input[type=checkbox] + label {
		color: #0E171D;
		font-size: .8em;
	}
	.style_alt ~ #getintouch .c_info input[type=checkbox] + label {color: white;}
	#getintouch .c_info input[type=checkbox] + label:before, #getintouch .c_info input[type=checkbox] + label:after {font-size: 1em;}
	#getintouch .c_info input[type=checkbox] {width: auto;}
	#getintouch .checkbox, #getintouch .submit {margin-top: -.85em;}
	#getintouch .submit {
		justify-content: space-between;
		align-items: center;
	}
	#getintouch .submit p {
		color: #7D8890;
		font-size: .6em;
		line-height: 140%;
		flex-basis: 59.146%;
	}
	.style_alt ~ #getintouch .submit p {color: #D4D8DA;}
	#getintouch .submit input {flex-basis: 30.488%;}
	#getintouch.thankyou .inner {
		display: block;
		padding-top: 13.6em;
		padding-bottom: 11.5em;
	}
	#getintouch.thankyou .inner .header {margin-bottom: .338em;}
	#getintouch.thankyou .inner .text {
		font-size: 1.6em;
		line-height: 120%;
		max-width: 22.5em;
		margin: auto;
		font-weight: 300;
	}
	body > footer .inner:before {
		left: 2.25em;
		right: 2.25em;
	}
	body > footer .inner > * {margin-left: 3.333%;}
	body > footer .inner > :first-child {margin-left: 0;}
	main > .intro .inner > :first-child, .inner > .intro > * {
		font-size: 1.7em;
		line-height: 1.412;
		margin-bottom: 1em;
	}
	.anim a.ideas {transform: translateY(25vh);}
	.anim a.ideas.in {transform: translateY(0);}
	.contact .inner > .intro > :first-child {margin-bottom: 1.25em;}
	body.home > header nav ul .getintouch {display: none;}
	.home main > .intro .inner > :first-child {
		font-size: 3.5em;
		line-height: 126%;
		max-width: 13.257em;
		margin-bottom: .571em;
	}
	.home main > .intro .inner .homecta a {padding: 1.1em 4.6em;}
	.home main .middle {
		padding-left: 3.333%;
		padding-right: 3.333%;
	}
	.home main a.ideas {
		right: 0;
		bottom: 4.5em;
	}
	.anim .home main a.ideas {
		transform: translateY(100%);
		right: -2em;
		bottom: -4em;
	}
	.anim .home main a.ideas.in {transform: translateY(0);}
	.home #careers .inner {
		background-position: left 3.125vw top 4.5em, left 34.375vw top 4.5em, -9999em 0;
		background-size: 30.208%;
		padding: 4.5em 2.25em 4.5em 67.708%;
		min-height: calc(20.139vw + 9em);
		max-width: 95em;
		box-sizing: border-box;
	}
	.work .inner > .intro {width: 65.556%;}
	.related {
		padding: 4.5em 0;
		border-top: 4.5em solid #233747;
		margin-top: -4.5em;
	}
	.home .claim {
		margin: 0 0 2.647em 34.444%;
		font-size: 1.7em;
		line-height: 1.412;
	}
	.anim .home #ideas {transform: translateY(10em);}
	.anim .home #ideas.in {transform: translateY(-10em);}
	.case_study main > header .inner {
		position: absolute;
		bottom: 2.25em;
		z-index: 1;
	}
	.case_study main > header h2 span {
		font-weight: normal;
		white-space: nowrap;
	}
	.case_study main .intro {margin-bottom: 6em;}
	.case_study main .intro .inner > * {
		margin-left: 34.444%;
		font-size: 1.7em;
		line-height: 1.412;
		margin-bottom: 1.412em;
	}
	.case_study main .content {padding-top: 4.5em;}
	.case_study main .content .inner {padding: 0 2.25em;}
	.case_study main h3 {
		font-size: 8.333vw;
		line-height: 1.133;
	}
	.case_study .demo {
		margin-bottom: 15em;
		padding-top: 25vh;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.case_study .demo .section {
		width: 31.111%;
		margin-top: 2.25em;
	}
	.cs .case_study .demo .section > * {
		position: absolute;
		top: 100%;
		margin: 0;
		opacity: 0;
	}
	.cs .case_study .demo .section > img {display: none;}
	.cs .case_study .demo .section > .in {
		top: auto;
		opacity: 1;
	}
	.cs .case_study .demo .section > .out {
		bottom: 90%;
		opacity: 0;
	}
	.case_study .demo .img {
		position: relative;
		width: 65.556%;
		left: 0;
		transform: skew(0, 15deg);
		transform-origin: top right;
		text-align: right;
	}
	.case_study .demo .img img {
		max-width: 100%;
		height: auto;
		position: absolute;
		box-shadow: 0 0 2.5em rgba(0,0,0,.2);
		right: 0;
		top: 0;
		opacity: 0;
		transform: translate(-63vw, 50vh);
	}
	.case_study .demo .img :first-child {
		position: static;
		transform: none;
		opacity: 1;
	}
	.case_study .demo .img img:nth-child(2) {right: 1.5em; top: 1em;}
	.case_study .demo .img img:nth-child(3) {right: 3em; top: 2em;}
	.case_study .demo .img img:nth-child(4) {right: 4.5em; top: 3em;}
	.case_study .demo .img img:nth-child(5) {right: 6em; top: 4em;}
	.case_study .demo .img img:nth-child(6) {right: 7.5em; top: 5em;}
	.case_study .demo .img img:nth-child(7) {right: 9em; top: 6em;}
	.case_study .demo .img img:nth-child(8) {right: 10.5em; top: 7em;}
	.case_study .demo .img img:nth-child(9) {right: 12em; top: 8em;}
	.case_study .demo .img img:nth-child(10) {right: 13.5em; top: 9em;}
	.case_study .demo .img img:nth-child(11) {right: 15em; top: 10em;}
	.case_study .demo .img img:nth-child(12) {right: 16.5em; top: 11em;}
	.case_study .demo .img img.panel1 {
		right: 17.5em;
		top: 18em;
		width: 96px;
	}
	.case_study .demo .img img.panel2 {
		right: 24.5em;
		top: 10em;
		width: 200px;
	}
	.case_study .demo .img img.panel3 {
		right: 26.5em;
		top: 12em;
		width: 195px;
	}
	.case_study .demo .img img.panel4 {
		right: 9.8em;
		top: 17em;
		width: 142px;
	}
	.case_study .demo .img .tween {
		transform: translate(0,0);
		opacity: 1;
	}
	.case_study .demo .img .tween.sketch {opacity: .9;}
	.case_study .video {
		display: flex;
		justify-content: space-between;
		margin-bottom: 1.5em;
		position: relative;
		align-items: center;
	}
	.cs .case_study .video {
		margin: 0;
		min-height: 100vh;
	}
	.case_study .video .trigger {
		position: absolute;
		top: 0;
		right: 0;
	}
	.case_study .videos h3 + .video .trigger {top: 50%;}
	.cs .case_study .video > * {display: flex;}
	.case_study .videos .video > div {
		flex: 1;
		align-items: center;
		margin: 0;
		position: relative;
		top: -50vh;
		display: block;
	}
	.case_study .videos > h3 + .video > div {top: 0;}
	.case_study .videos .video p {
		flex-basis: 31.111%;
		margin-left: 3.333%;
		margin-bottom: 0;
		flex-flow: column;
		align-items: flex-start;
		justify-content: center;
	}
	.case_study .videos .video p:before {
		content: attr(title);
		display: block;
		margin-bottom: 1.5em;
		font-weight: bold;
	}
	.case_study .videos img, .case_study video {
		width: 100%;
		height: auto;
		position: static;
		padding-top: 1.695%;
	}
	.case_study .scrollmagic-pin-spacer video {padding-top: 2.128%;}
	.case_study .active .scrollmagic-pin-spacer video {padding-top: 1.042%;}
	.cs .case_study .videos .video > div,
	.cs .case_study .videos .hidden > div,
	.cs .case_study .videos h3 + .video.hidden > div {
		opacity: 0;
		transition: opacity .5s;
		width: auto;
		display: block;
	}
	.cs .case_study .videos h3 + .video > div,
	.cs .case_study .videos .active > div,
	.cs .case_study .videos .visible > div
		{opacity: 1;}


	.case_study .atmosphere {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 50fr 50fr;
		grid-template-columns: 50fr 50fr;
		grid-gap: .75em;
		gap: .75em;
		margin: 15em 0 5em;
	}
	/* we need the following for IE 11; that’s why we also can’t use grid gap */
	.case_study .atmosphere img:first-child {
		-ms-grid-column: 1;
		-ms-grid-row: 1;
		margin-bottom: .75em;
		margin-right: .75em;
	}
	.case_study .atmosphere img:first-child + img {
		-ms-grid-column: 2;
		-ms-grid-row: 1;
		margin-bottom: .75em;
		margin-left: .75em;
	}
	.case_study .atmosphere img:first-child + img + img {
		-ms-grid-column: 1;
		-ms-grid-row: 2;
		margin-right: .75em;
	}
	.case_study .atmosphere img:first-child + img + img + img {
		-ms-grid-column: 2;
		-ms-grid-row: 2;
		margin-left: .75em;
	}
	@supports (display: grid) {
		.case_study .atmosphere img {margin: 0 !important;}
	}
	/* end IE 11 workarounds */
	.case_study .fullbleed {margin: 5em 0;}
	.case_study main .highlight {
		font-size: 1.7em;
		line-height: 1.412;
		margin-left: 34.444%;
	}
	.case_study main .highlight cite {font-size: .588em;}
	.case_study .media {
		display: flex;
		margin: 9em -.25em;
	}
	.case_study .media > * {
		flex: 1;
		margin: 0 .25em;
	}
	.case_study .media + h3 {margin-top: -1.5em;}
	.case_study .mediatext {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 6em 0;
	}
	.case_study .mediatext > * {width: 31.111%;}
	.case_study .mediatext > :first-child {width: 65.556%;}
	.case_study .mediatext.imgright > :first-child {order: 1;}
	.case_study .bodytext {
		margin-top: 6em;
		margin-bottom: 6em;
	}
	.case_study .bodytext.align_left {margin-right: 34.444%;}
	.case_study .bodytext.align_right {margin-left: 34.444%;}
	#impressions.healthagen {
		margin: 9em 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#impressions.healthagen > * {
		flex-basis: 31.111%;
		margin-bottom: 2.25em;
	}
	#impressions.healthagen :first-child, #impressions.healthagen :last-child {flex-basis: 65.556%;}
	#prototypes.healthagen {margin-bottom: 3.75em;}
	#prototypes.healthagen > * {
		flex-basis: 40%;
		margin-bottom: 2.25em;
		margin-left: 3.333%;
	}
	#prototypes.healthagen > :first-child {margin-left: 0;}
	#prototypes.healthagen > :nth-child(3) {margin-left: -17.778%;}
	#prototypes.healthagen img {
		border-radius: .3em .3em 0 0;
		font-size: 1.389vw;
	}
	#prototypes.healthagen > p {flex-basis: 31.111%;}

	#prototypes.schwab {
		margin: 9em 0 4.5em;
		position: relative;
	}
	#prototypes.schwab span {margin-left: calc(-2.25em - 21.704%);}
	#prototypes.schwab span img {width: 96.344%;}
	#prototypes.schwab p {
		position: absolute;
		width: 31.111%;
		top: 0;
		margin-top: 61.704%;
	}
	#partnership {
		flex-wrap: wrap;
		position: relative;
	}
	#partnership h3 {flex-basis: 100%;}
	#partnership div {
		flex-basis: 65.556%;
		justify-content: center;
	}
	.proteus #partnership div img {
		font-size: 1.389vw;
		width: 24.407%;
	}
	#partnership p {flex-basis: 31.111%;}
	#partnership div img:first-child + img {margin: 0 6.779%;}

	.proteus .process,
	#partnership,
	#prototypes.proteus
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.proteus .process {
		padding-top: 4.5em;
		flex-wrap: wrap;
	}
	.proteus .process .img {
		text-align: center;
		flex-basis: 65.556%;
	}
	.proteus .process .img span {
		width: 86.441%;
		max-width: 32.3em;
		display: block;
		margin: auto;
		height: 26.95em;
		max-height: 100vh;
		position: relative;
	}
	.proteus .process .img span > * {
		object-fit: contain;
		width: 100%;
		height: 100%;
	}
	.proteus .process .description {
		flex-basis: 31.111%;
		position: relative;
	}
	.anim .proteus .process .description p {
		position: absolute;
		top: 25vh;
		transform: translateY(-50%);
		opacity: 0;
	}
	.anim .proteus .process .description p:first-child,
	.anim .proteus .process .description p.in
		{
			opacity: 1;
			top: 0;
		}
	.anim .proteus .process .description p.out {
		top: -25vh;
		opacity: 0;
	}
	.proteus .process + img {
		width: 100%;
		margin-bottom: calc(-15em - 4.5%);
		position: relative;
	}
	
	.anim .proteus .process {padding-top: 0;}
	.anim .proteus .process .img img {display: none;}
	.trigger-process1 {
		position: absolute;
		right: 0;
		margin-top: -75vh;
/* 		border-top: 1px solid fuchsia; */
		width: 2em;
	}
	.trigger-process2 {
		position: absolute;
		right: 0;
		margin-top: 19.963%;
/* 		border-top: 1px solid aqua; */
		width: 2em;
	}
	.proteus #results {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 84.889%;
		margin: 0 auto;
		position: relative;
	}
	.anim .proteus #results {margin-top: -8em;}
/*
	.proteus #results .trigger_results {
		position: absolute;
		right: 0;
		width: 4em;
		top: -100vh;
	}
*/
	.proteus #results img {
		box-shadow: 0 .5em 1.5em rgba(0,0,0,.1);
		border-radius: 6.944% / 3.219%;
		flex-basis: 18.848%;
		width: 18.848%;
		font-size: 1.389vw;
	}
	.anim .proteus #results img:first-child {transform: translateY(80vh);}
	.anim .proteus #results img:nth-child(2) {transform: translateY(140vh);}
	.anim .proteus #results img:nth-child(3) {transform: translateY(110vh);}
	.anim .proteus #results img:nth-child(4) {transform: translateY(180vh);}
	.anim .proteus #results img.in {transform: translateY(-3em);}
	.proteus .atmosphere {margin-top: 10em;}
	#touchpoints .highlight + img,
	#touchpoints .svg
		{
			margin-top: -4.5em;
			padding-bottom: 48.148%; /* necessary for IE 11 */
		}
	/* necessary for IE 11 */
	#touchpoints .svg svg {position: absolute;}
	/* revert for modern browsers */
	@supports (display: block) {
		#touchpoints .highlight + img,
		#touchpoints .svg
			{padding-bottom: 0;}
		#touchpoints .svg svg {position: static;}
	}
	/* end IE 11 workaround */
	.anim #touchpoints {
		padding-top: 10vh;
		margin-top: -10vh;
	}
	.anim #touchpoints .highlight + img {display: none;}
	
	.proteus #partnership, #prototypes.proteus {margin: 0 0 6em;}
	.proteus #partnership h3 {margin: 0 0 -.05em;}
	.anim .proteus #partnership h3 {transform: translateY(100%);}
	.anim .proteus #partnership h3.zero {transform: translateY(0);}
	.anim .proteus #partnership div img:first-child {transform: translateY(25em);}
	.anim .proteus #partnership div img:nth-child(2) {transform: translateY(15em);}
	.anim .proteus #partnership div img:nth-child(3) {transform: translateY(40em);}
	.anim .proteus #partnership div img.zero {transform: translateY(0);}
	#partnership .trigger_partner {
		position: absolute;
		right: 0;
		width: 4em;
		top: -25vh;
	}

	#prototypes.proteus {
		flex-wrap: wrap;
		align-items: flex-start;
	}
	#prototypes.proteus img {
		width: 100%;
		box-shadow: 0 .5em 1.5em rgba(0,0,0,.1);
	}
	#prototypes.proteus > span {
		flex-basis: 65.556%;
		text-align: center;
	}
	#prototypes.proteus > span:first-child {
		margin: 0 -2.25em 1.5em;
		flex: 1 0 100%;
	}
	#prototypes.proteus > span:first-child img {box-shadow: none;}
	#prototypes.proteus > p {flex-basis: 31.111%;}
	.case_study main .content.cheetah {
		padding-top: 1.5em;
		padding-bottom: 6em;
	}
	.cheetah #interface p {
		width: 31.111%;
		margin: 0 auto 3em;
	}
	.cheetah #interface span {
		display: block;
		margin: 0 -10.5em;
	}
	.cheetah #interface img {width: 100%;}
	.cheetah .highlight {
		margin-top: 4.256em;
		margin-bottom: 8.824em;
	}
	.case_study .atmosphere + .video {margin: 15em 0 9em;}
	.case_study .video > div {flex-basis: 65.556%;}
	.case_study .video > div > video {
		width: 79.661%;
		margin: auto;
		display: block;
		box-shadow: 0 .5em 1em rgba(0,0,0,.1);
	}
	.case_study .video > p {flex-basis: 31.111%;}
	
	.anim .case_study .bloomberg #process img {display: none;}
	/* IE 11 needs this */
	.anim .case_study .bloomberg #process .svg {
		padding-bottom: 42.074%;
		display: block;
	}
	.anim .case_study .bloomberg #process .svg svg {position: absolute;}
	/* revert for modern browsers */
	@supports (display: block) {
		.anim .case_study .bloomberg #process .svg {padding-bottom: 0;}
		.anim .case_study .bloomberg #process .svg svg {position: static;}
	}
	/* end IE 11 workaround */

	.case_study .bloomberg .highlight {margin-bottom: 3.529em;}
	.case_study .bloomberg .highlight:first-child {margin-bottom: 1.176em;}
	.case_study .bloomberg .atmosphere {margin: 6.5em 0 0;}
	.case_study .bloomberg h3 {margin: -.367em 0 .6em;}
	.anim .case_study .bloomberg h3 {transform: translateY(80%);}
	.anim .case_study .bloomberg h3.in {transform: translateY(0);}
	.bloomberg #interface {
		margin: 6em 0 4em;
		position: relative;
	}
	.bloomberg #interface p {
		position: absolute;
		width: 31.111%;
		top: 0;
		margin-top: 35.852%;
	}
	.bloomberg #interface span {display: block;}
	.bloomberg #interface img {
		width: 113.852%;
		max-width: none;
		margin-left: 6.047%;
	}
	.case_study .bloomberg img.fullbleed {margin: 6em 0;}
	.case_study main .docker {
		padding-top: 0;
		background: linear-gradient(white,white) 0 0 / 100% 11.75em no-repeat;
	}
	.docker #work > * {
		flex-basis: 31.111%;
		width: 31.111%;
		margin-bottom: 2.25em;
	}
	.docker #work > :first-child,
	.docker #work > :last-child
	{
		flex-basis: 65.556%;
		width: 65.556%;
	}
	.docker #work > :last-child {margin-bottom: 0;}
	.docker #work p:first-of-type {align-self: flex-end;}
	.docker #work p:last-of-type {align-self: flex-start;}
	.anim .docker #partnership h3 {transform: translateY(100%);}
	.anim .docker #partnership h3.in {transform: translatey(0);}
	.docker blockquote.highlight {
		margin-top: 3.529em;
		margin-bottom: 3.529em;
	}
	.docker #interface {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.docker #interface span {
		flex-basis: 90.074%;
		text-align: center;
	}
	.docker #interface p {
		flex-basis: 31.111%;
		margin-right: 3.333%;
	}
	.docker #interface p + span {flex: 1 1 65.556%;}
	.docker #interface p + span img {
		max-width: none;
		width: 137.401%;
		margin-left: -3.39%;
		margin-top: -2.26%;
	}
	.anim .docker #partnership .img > img {display: none;}
	.anim .docker #partnership .img .svg {
		display: block;
		width: 100%;
	}
	.anim .docker #partnership p {margin-bottom: -4.5em;}
	.docker .trigger_diagram {
		position: absolute;
		right: 0;
		width: 4em;
		margin-top: 9.444vw;
	}

	body.work {overflow-x: hidden;}
	.work main {
		padding-bottom: 0;
	}
	#overview .case_studies, #other-clients ul {
		display: flex;
		flex-wrap: wrap;
	}
	#overview .case_studies li {
		flex: 0 1 33.333%;
		position: relative;
/* 		padding-bottom: 22.222%; */
		min-height: 22.222vw;
	}
	#overview .case_studies li[class] {background-color: transparent;}
	#overview .case_studies li a {
		padding: 2.25em 1.25em 1.25em 2.25em;
		transition-property: padding-top, color, background-color;
		transition-duration: 250ms;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	#overview .case_studies li a:hover {
		color: white;
		padding-top: 1.5em;
	}
	#overview .case_studies .dm-slate a:hover {background-color: #233747;}
	#overview .case_studies .dm-red a:hover {background-color: #EE2533;}
	#overview .case_studies .dm-purple a:hover {background-color: #8F3D97;}
	#overview .case_studies .dm-blue a:hover {background-color: #3E51A3;}
	#overview .case_studies .dm-green a:hover {
		background-color: #39B885;
		color: #233747;
	}
	#overview .case_studies .dm-yellow a:hover {
		background-color: #DFE31C;
		color: #233747;
	}
	#overview .case_studies .dm-gray-dark a:hover {
		background-color: #B3B4B2;
		color: #233747;
	}
	#overview .case_studies .dm-gray-medium a:hover {
		background-color: #CFCDC9;
		color: #233747;
	}
	#overview .case_studies .dm-gray-light a:hover {
		background-color: #F1F0EF;
		color: #233747;
	}
	
	#overview .case_studies li span[style] {
		position: absolute;
		bottom: 0;
		left: 0;
		right: -5.833%;
		height: 100%;
		background: 0 100% / 100% auto no-repeat;
		margin-bottom: -10.821%;
		opacity: 0;
		transition: opacity .25s;
	}
	#overview .case_studies a:hover span[style] {opacity: 1;}
	#overview {margin: 6em -2.25em 0;}
	#other-clients {
		background-color: #F1F0EF;
		padding: 4.5em 0;
	}
	#other-clients ul {
		margin-top: 3.25em;
		display: grid;
		grid-gap: 2.25em 3.333%;
		gap: 2.25em 3.333%;
		grid-template-columns: repeat(6,1fr);
	}
	#other-clients li {
		flex: 1 0 16.667%;
		place-self: center;
	}
	#other-clients li img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.contact .intro {
		margin-left: 34.444%;
		margin-bottom: 4.5em;
		padding-left: 0;
	}
	.bottom .inner {padding: 4.5em 2.25em 0;}
	ul.contact {
		display: flex;
		margin-left: 34.444%;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	ul.contact li {
		flex: 0 1 47.458%;
		margin-bottom: 4.5em;
	}
	.contact .bottom a.ideas {
		left: 18.75%;
		top: -1.15em;
	}
	.bottom .images {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
	}
	.bottom .images img {margin-bottom: 1.185%;}
	.bottom .images img:last-child {margin-bottom: 0;}
	.bottom .images img:first-child {width: 33.333%;}
	.bottom .images img:first-child + img {width: 65.556%;}
	.bottom .images img:first-child + img + img {width: 100%;}
	.ideas main .inner > h2 {
		font-size: 6em;
		left: auto;
		line-height: 1;
		max-width: 100%;
		transform: translateY(-65%);
	}
	.ideas #featured {
		margin-bottom: 3.333%;
		display: flex;
		align-items: flex-end;
	}
	.ideas #featured > * {flex: 1;}
	.ideas #featured a {
		flex-basis: 65.556%;
		width: 65.556%;
		max-width: none;
	}
	.ideas #featured img {width: 100%;}
	.ideas #featured > div {
		margin-left: 3.333%;
		flex-basis: 31.111%;
		position: -webkit-sticky;
		position: sticky;
		bottom: 1em;
		padding-top: 3em;
	}
/* 	.ideas #filter,	.ideas .overview {font-size: 1.389vw;} */
	.ideas #filter {
		font-size: 1em;
		margin-bottom: 2.25em;
		display: flex;
	}
	.ideas #filter li {margin-left: 2.222%;}
	.ideas #filter li:first-child {margin-left: 0;}
	.ideas .overview li {
		width: 31.111%;
		margin-bottom: 3.333%;
		font-weight: bold;
		transition: background-color .25s;
	}
	.ideas .overview li.highlight, .ideas .overview li.noimg {
		font-size: 1.7em;
		line-height: 1.412;
	}
	.ideas .overview li.highlight {
		width: 65.556%;
		font-weight: normal;
	}
	.ideas .overview .gutter {
		width: 3.333%;
		display: block;
	}
	.ideas .overview li a {height: 19.444vw;}
	.ideas .overview li.highlight a {height: 42.014vw;}
	.idea main {padding-bottom: 4.5em;}
	.idea article {
		padding-left: 34.444%;
		padding-top: 6em;
		padding-right: 3.75em;
	}
	.idea article > footer {margin-bottom: -6em;}
	.idea article > footer .back {left: 34.444%;}
	.idea article > header {margin-left: calc(-34.444vw + 1.55em);}
	.idea article > header h2 {margin-bottom: 1.406em;}
	main .fullwidth {margin: 2em 0 2.75em 0;}
	.meta {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 6em;
		max-width: 32%;
		box-sizing: border-box;
		position: absolute;
	}
	.author img {
		width: 6em;
		box-sizing: border-box;
		padding: 0 .5em;
	}
	.author .generic {padding: 0 .8em;}
	.idea article header + *, article blockquote {
		font-size: 1.7em;
		line-height: 1.412;
		margin-bottom: 1.765em;
	}
	.idea article header + blockquote,
	.idea article header + blockquote cite
		{
			font-family: 'Ivar Text', Georgia, "Times New Roman", Times, serif;
			margin-top: 0;
		}
	.idea article header + blockquote p {margin-bottom: 0;}
	.idea article header + blockquote cite {font-size: 1em;}

	article .fullbleed {
		display: flex;
		margin: 2.25em -3.75em 2.25em calc(-34.444vw + 1.55em);
	}
	article .fullbleed figure {flex: 1;}
	article .fullbleed figure + figure {margin-left: 3.333%;}
	main .fullcol  {
		display: flex;
		justify-content: space-between;
	}
	main .fullcol img {
		width: 49%;
		margin: 0;
	}
	main p + .fullcol {margin-top: 2.5em;}
	main .fullcol + p {margin-top: 2.5em;}
	article blockquote {margin-top: 1.765em;}
	article blockquote p {margin-bottom: 1.411em;}
	article blockquote cite {
		font-size: .588em;
		margin-top: -2.4em;
	}
	article blockquote cite:before {
		content: '–';
		margin-right: .25em;
	}
	.idea article > footer .back:before {
		position: absolute;
		right: 100%;
	}
	.careers main {
		padding-top: 4.6em;
		padding-bottom: 0;
	}
	.careers .hero {
		margin-bottom: 4.5em;
		margin-left: 2.25em;
	}
	.jsenabled .careers .hero img {
		width: 65.556%;
		margin-right: .75em;
	}
	.careers .controls {margin: 0 2.25em;}
	.careers .controls .next, .careers .controls .prev {
		top: -3.158em;
		font-size: .95em;
	}
	.careers .controls .prev {right: 4.211em;}
	.careers .intro {margin-bottom: 4.5em;}
	.careers .intro .inner > * {margin-left: 34.444%;}
	.careers .intro .inner > :first-child {margin-bottom: 1.2em;}
	.careers main > h2 {
		margin: 0 2.25em .75em;
		max-width: 90.5em;
	}
	.careers main > h2:before {
		content: '';
		padding-left: 34.444%;
	}
	.careers main > .section > .inner, .careers main > .intro + .section {
		display: flex;
		margin-bottom: 4.5em;
	}
	.careers main > .section .inner > h3 {flex: 1 0 31.111%;}
	.careers main > .section .inner > div {margin-left: 3.333%;}
	.careers main > .intro + .section {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.careers main > .intro + .section > * {
		flex: 1 0 31.111%;
		margin-left: 3.333%;
	}
	.careers main > .intro + .section h3 {
		font-size: 8.333vw;
		line-height: 1.133;
		letter-spacing: -.02em;
		text-indent: -.05em;
		margin-bottom: .75em;
		flex: 1 0 100%;
		margin-left: 0;
	}
	.careers main > .intro + .section h3 + * {margin-left: 0;}
	.careers #jobs .inner {
		padding-top: 4.5em;
		padding-bottom: 4.5em;
		background-color: rgb(241,240,239);
	}
	.careers main dl {
		margin: 0 0 3em;
		display: flex;
		flex-wrap: wrap;
	}
	.careers main dt, .careers main dd {
		flex-basis: 47.457%;
		padding: .75em 0 3em;
	}
	.careers main dt {padding-right: 5.085%;}
	.careers main dd a {opacity: .85;}
	.careers #jobs p {
		font-size: 1.7em;
		line-height: 1.412;
		margin-bottom: .441em;
	}
	.profile .hero p {
		position: absolute;
		left: .703em;
		bottom: 1.5em;
		right: .703em;
		font-size: 3.2em;
		line-height: 1.25;
	}
	.anim .profile .hero p.in {bottom: 3em;}
	.profile .intro .inner {
		margin-bottom: 4.5em;
		position: relative;
	}
	.profile .intro .inner * {margin-left: 34.444%;}
	.profile .intro .inner .ideas {
		left: 20.444%;
		margin-right: 4.5em;
		margin-left: 0;
		top: -2.3em;
	}
	.profile .intro .inner .ideas img {margin: 0;}
	.profile main > h2 {
		font-size: 6em;
		max-width: 15.083em;
		margin-left: auto;
		margin-right: auto;
		padding: 0 .375em;
	}
	.anim .profile main > h2 {transform: translateY(50%);}
	.anim .profile main > h2.in {transform: translateY(0);}
	#leadership .inner {padding: 11em 2.25em 4.5em;}
	#leadership h3 {top: 3.529em;}
	#leadership section {flex: 0 1 18.889%;}
	#leadership section img {
		width: 83.137%;
		display: block;
		margin: 0 auto .5em;
	}
	#leadership .contact {margin-left: -.227em;}
	#leadership .contact .linkedin {font-size: 1.1em;}
	#leadership .contact .email {font-size: .9em;}
	#profile {padding: 4.5em 0;}
	#profile .trigger {
		position: absolute;
		width: 4em;
		margin-top: -50vh;
	}
	#profile .inner > p {
		font-size: 1.7em;
		line-height: 1.412;
		margin-left: 34.444%;
	}
	#profile .inner > p + section {margin-top: 7.5em;}
	#profile .inner > section {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin-bottom: 2.25em;
	}
	#profile .inner > section:last-child {margin-bottom: 0;}
	#profile .inner > section > .img {
		width: 65.556%;
		max-width: 44.25em;
		margin: 0;
	}
	#profile .inner > section > .text {flex-basis: 31.111%;}
	#profile .img > span {
		display: block;
		position: relative;
		top: -50vh;
	}
	#profile section:nth-of-type(1) .img > span {top: 0;}
	#profile .img img, #profile .img svg {
		max-height: 100vh;
		width: 100%;
	}
	.anim #profile .container {
		position: relative;
		min-height: 100vh;
	}
	.anim #profile .container section {
		position: absolute;
		right: 0;
		width: 31.111%;
		top: 90%;
		transform: translateY(0);
		opacity: 0;
	}
	.anim #profile .container .in {
		transform: translateY(-50%);
		top: 50%;
/* 		opacity: 1; */
	}
	.anim #profile .container .op1 {opacity: 1;}
	.anim #profile .container .out {
		transform: translateY(-100%);
		top: 10%;
/* 		opacity: 0; */
	}
	.anim #profile .container .img {display: none;}
	.anim #profile .container .svg {
		position: absolute;
		width: 65.556%;
		top: 50%;
		transform: translateY(-50%);
		padding-bottom: 80%; /* necessary for IE 11 */
	}
	/* necessary for IE 11 */
	.anim #profile .container .svg svg {position: absolute;}
	/* revert for modern browsers */
	@supports (display: block) {
		.anim #profile .container .svg {padding-bottom: 0;}
		.anim #profile .container .svg svg {position: static;}
	}
	/* end IE 11 workaround */
	.profile #other-clients {
		background-color: transparent;
		padding: 0;
	}
	.profile #other-clients ul {font-size: 1.389vw;}
	.profile #other-clients ul li {
		flex: 0 1 10%;
		margin-left: 4%;
		margin-bottom: 4em;
	}
	.profile #other-clients ul li:nth-child(7n+1) {margin-left: 0;}
	.profile #other-clients ul li img {max-height: 2.7em;}
	
	.tl_trigger {
		display: block;
		position: relative;
		top: 5.5em;
	}
	#timeline {
		margin-top: 5.5em;
		margin-bottom: 4.5em;
	}
	#timeline h3 {
		font-size: 6em;
		line-height: 1.133;
		margin: 0;
		padding-left: .375em;
	}
	#timeline .small_only {display: none;}
	#timeline dt {position: relative;}
	.tl #timeline {margin-bottom: 0;}
	.tl #timeline div {overflow: visible;}
	.tl #timeline svg {display: block;}
	.tl #timeline dl {
		margin: 0;
		padding-bottom: 15em;
	}
	.tl #timeline h3, .tl #timeline dt {
		position: absolute;
		left: -9999em;
	}
	.tl #timeline dd {
		width: 23.75em;
		position: absolute;
		left: 50%;
		margin: 0 0 0 -2.361%;
		opacity: 0;
		font-size: .8em;
	}
	.tl #timeline .on {opacity: 1;}
	/* IE 11 needs this */
	#tl_container {
		position: relative;
		padding-bottom: 40.741%;
	}
	#tl_container svg {position: absolute;}
	#tl_container svg image {
/* 		filter: drop-shadow(0 .2em .75em rgba(0, 0, 0, 0.3)); */
		filter: url(#drop-shadow);
	}
	/* revert for modern browsers */
	@supports (display: block) {
		#tl_container {padding: 0;}
		#tl_container svg {position: static;}
	}
	/* end workaround for IE 11 */

	#impressions.salesforce {margin-bottom: 6.5em;}
	#impressions.salesforce div {
		display: flex;
		justify-content: space-between;
		margin-bottom: 1.852%;
	}
	#impressions.salesforce div span {
		flex-basis: 65.556%;
	}
	#impressions.salesforce div span img {
		max-width: none;
		width: 129.605%;
		margin-left: -29.605%;
	}
	#impressions.salesforce p {flex-basis: 31.111%;}
	#impressions.salesforce > span {
		display: block;
		margin: auto;
		width: 85.111%;
	}
	.campaign > header.style_alt nav ul a {color: white;}
	.campaign > header nav ul .home {position: static;}
	.campaign > header nav ul .home1 {display: none;}
	.campaign > header nav ul .getintouch {margin-left: 1.85em;}
	body > header nav ul .getintouch a {
		display: block;
		border: 1px solid black;
		padding: .5em 1.3em .45em;
		opacity: 1;
	}
	body > header nav ul .getintouch a:hover {
		background-color: #233747;
		color: white;
	}
	body > header.style_alt nav ul .getintouch a {border-color: white;}
	body > header.style_alt nav ul .getintouch a:hover {
		background-color: white;
		color: #233747;
	}
	.campaign .hero {min-height: 41.15em;}
	.campaign .hero .inner,
	.campaign main > .inner {
		max-width: 84.4em;
		padding-left: calc(2.25em + 7.262%);
	}
	.campaign .hero .inner > * {
		font-size: 1.6em;
		line-height: 1.188;
		max-width: 20.313em;
	}
	.campaign .hero .inner > p {font-weight: 300;}
	.campaign .hero .inner > header,
	.campaign .hero .inner > form,
	.campaign .hero .inner > #thankyou
	{
		font-size: 1em;
		max-width: 32.5em;
	}
	.campaign .hero fieldset .container {
		display: flex;
		flex-wrap: wrap;
	}
	.campaign .hero fieldset .container > div,
	.campaign .hero .submit input,
	.campaign .hero .submit p
	{
		flex: 0 1 47.692%;
		margin-left: 4.615%;
	}
	.campaign .hero .submit p {font-size: .7em;}
	.campaign .hero fieldset .container > div:nth-of-type(odd) {margin-left: 0;}
	.campaign .hero fieldset .container > .checkbox {
		top: .25em;
		position: relative;
	}
	.campaign .hero .submit {
		display: flex;
		align-items: center;
		margin-top: -.5em;
	}
	.campaign .hero .submit input {margin-left: 0;}
	.campaign .hero .submit p {align-self: flex-end;}
	.campaign #thankyou {
		padding-top: 1.5em;
		padding-left: 5.3em;
		margin-top: 4em;
		margin-bottom: 6.5em;
		box-sizing: border-box;
	}
	.campaign #thankyou .header {
		font: 500 1.6em/110% 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		margin-bottom: .313em;
	}
	.campaign #thankyou .text {line-height: 170%;}
	.campaign main .fullcol img {width: 48.370%;}
	.campaign main blockquote {
		padding-left: 1.8em;
	}
	.campaign main blockquote p {
		font-size: 1.5em;
		margin-bottom: 0;
	}
}
@media screen and (min-width: 90em) {
/* 	.home #case-studies section > div {right: 0;} */
/* 	#overview .case_studies, */
	#other-clients ul,
	.profile #other-clients ul
		{font-size: 1em;}
	.case_study main h3 {font-size: 6em;}
}
@media screen and (min-width: 118.75em) {
	.related:before {padding-top: 15.481em;}
	.home #case-studies section > .more {margin-left: -45.25em;}
	.home #careers .inner {
		background-position: 2.25em 4.5em, 31.906em 4.5em;
		min-height: 28.15em;
		padding-left: 64.323em;
	}
	.case_study main > header .inner,
	.profile .hero p {
		left: 50%;
		transform: translateX(-50%);
	}
	.case_study main > header .inner {width: 90.5em;}
	.profile .hero p {
		width: 28.281em;
		right: auto;
	}
	.careers main > h2 {
		margin-left: auto;
		margin-right: auto;
	}
	.careers main > .intro + .section h3 {font-size: 7.916em;}
/* 	#partnership h3 {font-size: 7.9em;} */
	.ideas .overview li a {height: 18.472em;}
	.ideas .overview li.highlight a {height: 23.477em;}
	.ideas .overview li.noimg a {height: 10.866em;}
	.idea article > header, article .fullbleed {margin-left: -56.025%;}
	#overview .case_studies li {min-height: 21.1em;}
	.campaign .hero > .inner,
	.campaign main > .inner {
		max-width: 83.6em;
		padding-left: 9.15em;
	}
}
@media screen and (max-width: 100em) {
	.campaign .hero {font-size: 1.25vw;}
}
@media screen and (max-width: 75em) {
/* 	html:before {content: 'medium';} */
	body {font-size: 1.667vw;}
}
/*! small viewports */
@media screen and (max-width: 48em) {
	html:before {content: 'small';}
	body {
		font-size: 1em;
		line-height: 1.375;
		overflow-x: hidden;
	}
	h1, h2 {
		line-height: 1.15;
		font-size: 2.5em;
	}
	form input, form input[type="checkbox"] + label {font-size: 1.25em;}
	form input[type=radio], form input[type=checkbox], form input[type=submit] {font-size: 1em;}
	input[type=submit], button {
		padding: .875em 1.5em;
		width: 100%;
	}
	form label[for], form label[htmlFor] {font-size: .875em;}
	form .submit p {font-size: .75em;}
	main {padding: 8.375em 0 3.75em;}
	.inner {padding: 0 1.875em;}
	.large_only {display: none;}
	.nav_active, .nav_active body {overflow: hidden;}
	body > header {
		left: 0;
		right: 0;
		top: 0;
		padding: 1.563em 0;
	}
	body > header .inner {position: static;}
	body > header h1 {background-size: contain;}
	body > header h1 img {
		width: 8.813em;
		height: 1.625em;
	}
	body > header nav label {
		position: absolute;
		width: 2.5em;
		height: 2em;
		z-index: 1;
		right: 1.375em;
		top: 1.375em;
		cursor: pointer;
		background: linear-gradient(#233747,#233747) 50% 1.375em / 1.54em .125em no-repeat;
	}
	body > header nav label:before, body > header nav label:after {
		content: '';
		position: absolute;
		width: 1.5em;
		height: .125em;
		left: 50%;
		top: .5em;
		transform: translateX(-50%);
		background-color: #233747;
	}
	body > header nav label:after {top: .938em;}
	body > header nav :checked + label {background: none;}
	body > header nav :checked + label:before, body > header nav :checked + label:after {
		background-color: #223747;
		top: 50%;
	}
	body > header nav :checked + label:before {transform: translate(-50%, -50%) rotate(45deg);}
	body > header nav :checked + label:after {transform: translate(-50%, -50%) rotate(-45deg);}
	body > header nav ul {
		right: 9999em;
		top: -9999em;
		background-color: #DFE251;
		flex-wrap: wrap;
		align-content: center;
		align-items: center;
		padding: 4em 0 8em;
	}
	.nav_active body > header nav ul {
		position: fixed;
		bottom: 0;
	}
	body > header nav :checked ~ ul {
		left: 0;
		right: 0;
		top: 0;
	}
	body > header nav ul li {
		flex-basis: 100%;
		display: flex;
	}
	body > header nav ul .home {
		position: absolute;
		left: 1.875em;
		top: 1.563em;
		width: 8.813em;
		height: 1.625em;;
	}
	body > header nav ul .getintouch {
		position: absolute;
		bottom: 1.875em;
		left: 1.875em;
		right: 1.875em;
	}
	body > header nav ul a {
		font: 500 3.75em/142% 'Ivar Text', Georgia, "Times New Roman", Times, serif;
		flex: 1;
		padding: 0 30px;
	}
	body > header nav ul .getintouch a {
		font-size: 2.25em;
		font-weight: 600;
		line-height: 139%;
		background-color: #233747;
		color: white;
		text-align: center;
		padding: .389em 0;
	}
	header.style_alt nav label {
		background-image: linear-gradient(white,white);
		background-color: rgba(0,0,0,.1);
		box-shadow: 0 0 2em 2em rgba(0,0,0,.1);
		border-radius: .6em;
	}
	.nav_active header nav label {position: fixed;}
	.nav_active header.style_alt nav label {
		background-color: transparent;
		box-shadow: none;
	}
	header.style_alt nav label:before, header.style_alt nav label:after {background-color: white;}
	header.style_alt nav ul a {color: #233747;}
	body > header nav ul .home a {
		font-size: 1em;
		background: url(../img/logo_gray.svg) top left / auto 100% no-repeat;
		display: block;
		color: rgba(223,226,81,.01) !important;
	}
/* 	.jsenabled #getintouch {position: absolute;}	 */
	#getintouch > .inner {
		padding-top: 5em;
		padding-bottom: 2em;
	}
	#getintouch > .inner .intro {
		text-align: center;
		margin-bottom: 1.875em;
	}
	#getintouch .inner > .intro h2 {
		font-size: 2em;
		line-height: 110%;
		margin-bottom: .313em;
	}
	#getintouch:not(.thankyou) > .inner > .close {
		top: 1em;
		right: 1.857em;
		font-size: .875em;
		padding-right: 0;
		padding-top: 2.5em;
	}
	#getintouch:not(.thankyou) > .inner .close:before,
	#getintouch:not(.thankyou) > .inner .close:after
	{
		font-size: 1.25em;
		top: .8em;
		right: 50%;
	}
	#getintouch:not(.thankyou) > .inner .close:before {transform: translate(50%) rotate(45deg);}
	#getintouch:not(.thankyou) > .inner .close:after {transform: translate(50%) rotate(-45deg);}
	#getintouch .type {margin-bottom: 3.563em;}
	#getintouch .type label {position: static;}
	#getintouch .type > div {
		position: absolute;
		left: -9999em;
	}
	#getintouch .type select {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		border: 1px solid #233747;
		font-size: 1.25em;
		color: #233747;
		line-height: 120%;
		width: 100%;
		height: 2.5em;
		padding: 0 1em;
		text-align: center;
		background: url(../img/arrow_black.svg) right 20px top 50% no-repeat;
		text-transform: capitalize;
		border-radius: 0;
	}
	.style_alt ~ #getintouch .type select {
		border-color: #7D8890;
		color: white;
		background-image: url(../img/arrow_white.svg);
	}
	#getintouch .c_info > div > * {margin-bottom: 2.938em;}
	#getintouch .c_info > div > .checkbox {margin: -1em 0 1.875em;}
	#getintouch input[type="checkbox"] + label {
		font-size: 1em;
		color: #233747;
	}
	.style_alt ~ #getintouch input[type="checkbox"] + label {color: white;}
	#getintouch input[type="checkbox"] + label:before,
	#getintouch input[type="checkbox"] + label:after
		{font-size: 1em;}
	#getintouch .submit {flex-direction: column;}
	#getintouch input[type=submit] {margin-bottom: 1.875em;}
	#getintouch .submit p {order: 1;}
	#getintouch.thankyou .inner {
		padding-top: 10em;
		padding-bottom: 6.25em;
		background-size: 4.125em auto;
		background-position: 50% 3.875em;
	}
	#getintouch.thankyou .inner .header {
		font-size: 2em;
		margin-bottom: .313em;
	}
	#getintouch.thankyou .inner .text {font-size: 1em;}
	#getintouch.thankyou .inner .close {
		font-size: 1.25em;
		bottom: 1.8em;
	}
	
	body > footer .inner {
		flex-wrap: wrap;
		padding: 2em 1.875em 5.938em;
	}
	body > footer .inner:before {
		left: 1.875em;
		right: 1.875em;
	}
	body > footer .inner > * {
		font-size: .875em;
		flex: 0 1 45%;
	}
	body > footer .inner > .copyright {
		flex-basis: 100%;
		margin-bottom: 2.5em;
	}
	body > footer .social {
		position: absolute;
		bottom: 3.214em;
		left: 0;
		right: 0;
		text-align: center;
		margin: 0;
	}
	main > .intro {margin-bottom: 5.625em;}
	main > .intro .inner > :first-child, main .inner > .intro > * {
		font-size: 1.375em;
		line-height: 1.364;
	}
	.case_study main > header {
		display: flex;
		flex-flow: column;
		justify-content: flex-end;
		background-color: #233747;
	}
	.case_study main > header .inner {
		position: relative;
		padding-top: 4.75em;
		padding-bottom: 1.875em;
		z-index: 1;
	}
	.case_study main > header img {
		position: absolute;
		top: 0;
	}
	.case_study main > header h2 {font-size: 2.5em;}
	.case_study main .intro {
		padding-top: 1.875em;
		margin-bottom: 2.813em;
	}
	.case_study main .content {
		padding: 2.813em 0 0;
		margin-left: -1.875em;
		margin-right: -1.875em;
		overflow: hidden;
	}
	.case_study main .content > * {
		margin-left: 1.875em;
		margin-right: 1.875em;
	}
	.case_study main .intro .inner > *, .case_study main .intro .inner > :first-child {
		margin-left: 0;
		font: 1em/1.375 'National 2', Arial, Helvetica, Sans-serif;
	}
	.case_study main h3 {
		font-size: 3em;
		line-height: 1.167;
		margin-bottom: 0;
	}
	.case_study .demo {margin-bottom: 5.625em;}
	.case_study .demo .section {margin-left: -1.875em;}
	.case_study .demo .img {display: none;}
	.case_study .demo .section > * {
		position: static;
		display: block;
		margin-left: 1.875em;
	}
	.case_study .demo .section > img {
		display: block;
		margin-bottom: 2em;
		margin-left: 0;
	}
	.case_study .atmosphere, .case_study .media {margin: 5.625em 0;}
	.case_study .atmosphere img {
		margin-bottom: .938em;
		display: block;
	}
	.case_study .video, .case_study .video p {
		position: static;
		padding-right: 0;
		width: auto;
		transform: none;
	}
	.case_study .video {margin-bottom: 3.5em;}
	.case_study .video p:before {content: none;}
	.case_study .video video, .case_study .videos img {
		margin-bottom: .5em;
		padding-top: 2.778%;
		background-image: url(../img/browser_chrome_540.png);
	}
	.case_study .content .fullbleed {margin: 0 0 3.5em;}
	.case_study main .highlight {
		font-size: 1.375em;
		line-height: 1.364;
		margin-bottom: 2.727em;
	}
	.case_study main .highlight cite {font-size: .727em;}
	.case_study .mediatext, .case_study .bodytext {margin-bottom: 3.5em;}
	.case_study .mediatext > :first-child {margin-bottom: 1em;}
	#impressions {margin: 3.75em 0;}
	#impressions.healthagen > * {
		margin-bottom: .938em;
		display: block;
	}
	#impressions.healthagen p {margin: 1.875em 0 2.813em;}
	#impressions.healthagen :last-child {margin-bottom: 0;}
	#impressions.salesforce {position: relative;}
	#impressions.salesforce span {
		display: block;
		width: 155.556%;
	}
	#impressions.salesforce > span {
		position: absolute;
		top: 0;
		margin-top: 53.968%;
	}
	#impressions.salesforce div span {
		margin-left: -54.288%;
		margin-bottom: 53.968%;
	}
	#impressions.salesforce p {padding-top: 1.875em;}
	#partnership,
	#prototypes,
	#prototypes p,
	#interface
		{margin-bottom: 3.75em;}
	#prototypes span img {margin-bottom: 1em;}
	#prototypes.healthagen {
		width: 154.286%;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		margin: 3.75em 0;
	}
	#prototypes.healthagen > * {
		flex-basis: 46.914%;
		margin-bottom: 1.875em;
		margin-left: 6.173%;
	}
	#prototypes.healthagen > :first-child, #prototypes.healthagen > :last-child {margin-left: 0;}
	#prototypes.healthagen > :nth-child(3) {margin-left: -35.597%;}
	#prototypes.healthagen > :last-child {flex-basis: 64.815%;}
	#prototypes.healthagen span img {
/* 		box-shadow: 0 .25em .813em rgba(0,0,0,.1); */
		box-shadow: 0 .25em .75em rgba(0,0,0,.1);
		margin-bottom: 0;
		font-size: 4.267vw;
	}
/* 	.proteus .process > div {margin-bottom: 3.75em;} */
	.proteus .process .small_only {
		margin: 2.5em -9.677% 0;
		display: block;
	}
	.proteus .process img {
		margin-bottom: 1.875em;
		width: 100%;
	}
	.proteus .process svg {display: none;}
	.proteus .process .small_only img {margin-bottom: 0;}
	.proteus #results, #touchpoints svg {display: none;}
	#touchpoints .highlight + img {margin: -1.25em 0 2.5em;}
	#partnership h3 {margin-bottom: 0;}
	.proteus #partnership div {
		margin: 0 -25.161% 2em;
		justify-content: space-between;
	}
	.proteus #partnership div img {
		width: 30.342%;
		font-size: 4.267vw;
	}
	#prototypes.proteus span:first-child {
		display: block;
		margin: 0 -9em 0 -12em;
	}
	
	#prototypes.schwab span {margin-left: -101.587%;}
	.case_study main .content.cheetah {
		background-size: 100% 12.5em;
		padding-top: 0;
	}
	.cheetah #interface > span {
		display: block;
		margin: 0 -14.688em;
	}
	.case_study .bloomberg .atmosphere {margin-bottom: 0;}
	.case_study .bloomberg h3 {
		margin-top: -.667em;
		margin-bottom: 1em;
	}
	.bloomberg #interface span {
		margin: 0 -49.206%;
		display: block;
	}
	.bloomberg #interface img {margin-bottom: 1em;}
	.case_study main .docker {
		padding-top: 0;
		background: linear-gradient(white,white) 0 0 / 100% 14.533vw no-repeat;
	}
	.docker #work > * {
		margin-bottom: 4.762%;
		width: 30.159%;
		flex-basis: 30.159%;
		order: 1;
	}
	.docker #work > :first-child,
	.docker #work > :last-child
	{
		flex-basis: 65.079%;
		width: 65.079%;
	}
	.docker #work > :first-child {margin-right: 10%;}
	.docker #work > :last-child {margin-left: 34.921%;}
	.docker #work > :last-child, .docker #work p {margin-bottom: 1.875em;}
	.docker #work p {
		width: auto;
		flex-basis: 100%;
		order: 2;
	}
	.docker #interface {
		position: relative;
		padding-top: 119.048%;
	}
	.docker #interface span {
		position: absolute;
		top: 0;
		left: 0;
		width: 155.556%;
	}
	.docker #interface span + span {
		margin-top: 57.143%;
		left: auto;
		right: 0;
	}
	.docker #interface span img {
		width: 100%;
		margin-left: -2.563%;
	}
	.docker #interface span + span img {margin-left: 2.563%;}
	
	.home header.style_alt nav label {
		box-shadow: none;
		background-color: transparent;
	}
	.home main > .intro .inner {
		padding-top: 14.5em;
		padding-bottom: 7.25em;
	}
	.home main > .intro .inner > :first-child {
		font-size: 1.875em;
		line-height: 133%;
	}
	.home main > .intro .inner .homecta a {
		font-size: 1.25em;
		line-height: 120%;
		width: 100%;
		box-sizing: border-box;
		margin-top: 2em;
		text-align: center;
		padding: 1.1em 0;
	}
	.home #case-studies {margin: 0 0 3.75em;}
	.home #case-studies section > * {left: 1.875em;}
	.home #case-studies section > div {
		padding: 0 1.875em;
		bottom: 7.5em;
	}
	.home #case-studies section > div div {
		font-size: 2.5em;
		line-height: 1.15;
	}
	.home #case-studies section .more {bottom: 4.688em;}
	.home #case-studies .cycle-pager li a {padding: .906em .938em;}
	.home .claim {
		font-size: 1.375em;
		line-height: 1.364;
	}
	.home main .middle {
		display: block;
		padding-bottom: 5.625em;
	}
	.home main .middle a.ideas {
		bottom: 1.25em;
		right: 0;
	}
	.home main .middle h2 {font-size: 1.375em;}
	.home main .middle #work {
		margin-right: 0;
		margin-bottom: 3.75em;
	}
	.home main .middle #ideas {margin-bottom: 0;}
	.home main .middle #ideas ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 1.563em 9.524%;
		gap: 1.563em 9.524%;
		margin-bottom: 2.813em;
	}
	.home main .middle #ideas ul li {margin-bottom: 0;}
	.home #ideas ul li:nth-child(4) ~ li {display: none;}
	.home #careers .inner {
		border-top: 1.875em solid white;
		padding: 120% 0 3.75em;
		background-position: top center, 50% 60vw;
		background-size: auto calc(55.733vw/*  + 3.75em */);
		margin: 0 1.875em;
	}
	
	.work main {padding-bottom: 0;}
	.work main .intro {margin-bottom: 5.625em;}
	#overview .case_studies li {margin-bottom: 1.875em;}
	#overview .case_studies li a {
		padding: .938em;
		width: auto;
		min-height: 66.667vw;
		color: white;
		position: relative;
	}
	#overview .case_studies .dm-slate a {background-color: #233747;}
	#overview .case_studies .dm-red a {background-color: #EE2533;}
	#overview .case_studies .dm-purple a {background-color: #8F3D97;}
	#overview .case_studies .dm-blue a {background-color: #3E51A3;}
	#overview .case_studies .dm-green a {
		background-color: #39B885;
		color: #233747;
	}
	#overview .case_studies .dm-yellow a {
		background-color: #DFE31C;
		color: #233747;
	}
	#overview .case_studies .dm-gray-dark a {
		background-color: #B3B4B2;
		color: #233747;
	}
	#overview .case_studies .dm-gray-medium a {
		background-color: #CFCDC9;
		color: #233747;
	}
	#overview .case_studies .dm-gray-light a {
		background-color: #F1F0EF;
		color: #233747;
	}
	#overview .case_studies li span[style] {
		position: absolute;
		bottom: 0;
		left: 0;
		right: -5.833%;
		height: 100%;
		background: left bottom / 100% auto no-repeat;
		margin-bottom: -2em;
	}
	#other-clients {display: none;}
	body.contact main {
		padding-top: 7.438em;
		padding-bottom: 0;
	}
	.contact main > .intro, ul.contact li {margin-bottom: 2.813em;}
	ul.contact span {margin-right: .5em;}
	.bottom .inner {padding-top: 2.183em;}
	.contact .bottom a.ideas {
		right: 1.875em;
		top: -3.75em;
	}
	.bottom .images img {
		width: 100%;
		margin-bottom: .938em;
	}
	.bottom .images img:last-child {margin-bottom: 0;}
	.ideas main {padding-top: 6.5em;}
	.ideas main .inner > h2 {
		font-size: 3em;
		line-height: 1.167;
		position: static;
		margin-bottom: -.5em;
		position: relative;
		left: auto;
		z-index: 1;
	}
	.ideas #featured {margin-bottom: 2.813em;}
	.ideas #featured img {margin-bottom: .938em;}
	.ideas #featured h3 {
		font-size: 1.375em;
		line-height: 1.364;
		margin-bottom: .682em;
	}
	.ideas #filter {
		margin-bottom: 1.875em;
		padding: .75em 0;
		border: solid rgba(255,255,255,.5);
		border-width: 1px 0;
		position: relative;
	}
	.ideas #filter:before, .ideas #filter:after {
		content: '';
		position: absolute;
		background-color: white;
		right: 0;
		top: 1.125em;
		transition: transform .5s;
	}
	.ideas #filter:before {
		width: 1.25em;
		height: .125em;
		top: 1.688em;
	}
	.ideas #filter:after {
		height: 1.25em;
		width: .125em;
		right: .563em;
	}
	.ideas #filter.active:before, .ideas #filter.active:after {transform: rotate(-45deg);}
	.ideas #filter li {
		position: relative;
		z-index: 1;
		opacity: 1;
	}
	.ideas #filter li a {
		display: block;
		opacity: .01;
		font-size: 1.25em;
		line-height: 0;
		transition: line-height .5s, opacity .25s;
	}
	.ideas #filter .active a, .ideas #filter.active li a {
		opacity: 1;
		line-height: 1.5;
		margin-top: 0;
		transition-delay: 0s, .1s;
		cursor: pointer;
	}
	.ideas .overview:last-child {margin-bottom: -3.75em;}
	.ideas .overview li {
		margin-bottom: 1.875em;
		width: 100%;
	}
	.ideas .overview li a {height: calc(66.667vw - 2.5em);}
	.ideas .overview li a span {
		left: 1.25em;
		right: 1.25em;
	}
	.ideas .overview li.highlight a span,
	.ideas .overview li.noimg a span
	{
		left: .909em;
		right: .909em;
		bottom: .909em;
	}
	.ideas .overview .noimg a span {
		font-size: 1.375em;
		line-height: 1.364;
		bottom: auto;
		top: .909em;
	}
	.ideas .overview li:hover a span,
	.ideas .overview li.highlight:hover a span
		{bottom: 1.875em;}
	.ideas .overview li.noimg:hover a span {top: .455em;}
	.idea article {padding-top: 5.438em;}
	.meta {
		padding-left: 5.438em;
		margin: 2.813em 0;
	}
	.author img {width: 4.5em;}
	.meta .time {font-size: .875em;}
	.idea article header + *, article blockquote {
		font-size: 1.375em;
		line-height: 1.364;
	}
	article blockquote {margin: 2.813em 0;}
	article blockquote p {margin-bottom: 1.364em;}
	article blockquote cite {
		font-size: .727em;
		line-height: 1.5;
		margin-top: -1.875em;
	}
	article .fullbleed img {margin-bottom: .938em;}
	.idea article > footer {margin-bottom: -5.438em;}
	.idea article > footer .back {bottom: 5em;}
	.related {
/* 		width: 113.333%; */
		font-size: 4.267vw;
		border-top: 3.75em solid;
		padding: 3.75em 0 0;
		margin: -3.75em 0 3.75em;
		overflow: hidden;
	}
	.style_alt + .related {border-color: #F1F0EF;}
	.related:before {padding-top: 31.765%;}
	.related .inner {margin-right: -3.125em;}
	.related h3 {
		font-size: 1.375em;
		line-height: 1.364;
	}
	.related figure + figure ~ * {display: none;}
	
	.careers main {
		padding-top: 4.625em;
		padding-bottom: 0;
	}
	.careers .hero {
		margin-left: 1.875em;
		margin-bottom: 3.75em;
	}
	.jsenabled .careers .hero img {
		margin-right: .938em;
		width: 59.42%;
	}
	.careers .controls {margin: 0 1.875em;}
	.careers .controls .next, .careers .controls .prev {
		top: -1.579em;
		font-size: 1.188em;
	}
	.careers .controls .prev {right: 3.684em;}
	.careers main > h2 {margin-left: 1.875em;}
	.careers .intro {margin-bottom: 3.75em;}
	.careers main > .intro + section h3 {
		line-height: 1.167;
		font-size: 3em;
		margin-bottom: 1.25em;
	}
	.careers main > .intro + section > * {margin-bottom: 2.813em;}
	.careers main > .intro + section h4 {margin-bottom: .625em;}
	.careers main > .section {margin-bottom: 3.75em;}
	.careers main > .section .inner > h3 {
		font-size: 1.375em;
		line-height: 1.364;
		margin-bottom: .455em;
	}
	.careers #jobs {padding: 2.183em 0;}
	.careers #jobs h3 {margin-bottom: 2.045em;}
	.careers main dl {margin-bottom: 2.813em;}
	.careers main dt {
		border-bottom: none;
		padding-top: .938em;
	}
	.careers main dd {padding-bottom: 1.875em;}
	.careers #jobs p {
		font-size: 1.375em;
		line-height: 1.364;
		margin-bottom: .909em;
	}
	
	
	.profile .hero {
		padding-left: 1.875em;
		padding-right: 1.875em;
		display: flex;
		flex-flow: column;
		justify-content: flex-end;
		height: auto;
		max-height: none;
		margin-bottom: 3.75em;
	}
	.profile .hero video,
	.profile .hero img
	{
		position: absolute;
		left: 0;
		top: 0;
	}
	.profile .hero p {
		position: relative;
		font-size: 2.5em;
		line-height: 1.15;
		padding-top: 3.075em;
		padding-bottom: .75em;
	}
	.profile main > h2 {padding: 0 .75em;}
	.profile .intro a.ideas {display: none;}
	#leadership .inner {
		flex-wrap: wrap;
		padding-top: 8.125em;
		padding-bottom: 2em;
		margin-bottom: 3.75em;
	}
	#leadership h3 {
		font-size: 1.375em;
		line-height: 1.364;
		top: 3.909em;
	}
	#leadership section {
		flex-basis: 44%;
		margin-bottom: 1.75em;
	}
	#leadership .contact {margin-left: -.313em;}
	#leadership .contact .linkedin {font-size: 1.375em;}
	#leadership .contact .email {font-size: 1.125em;}
	#profile > .inner {overflow: hidden;}
	#profile .inner > p {
		font-size: 1.375em;
		line-height: 1.364;
		margin-bottom: 2.727em;
	}
	#profile .svg {display: none;}
	#profile .inner > section, #profile .container section {
		margin-bottom: 3.75em;
		position: relative;
		padding-top: 86.933vw;
	}
	#profile .inner .img {
		position: absolute;
		top: 0;
		right: -1.875em;
		height: 72vw;
	}
	#profile #research .img {right: -42.667vw;}
	#profile #excellence .img {right: -8vw;}
	#profile #training .img {right: -25vw;}
	#profile .inner .img img {
		height: 100%;
		width: auto;
		max-width: none;
	}
	.profile #other-clients {
		display: block;
		margin-bottom: -2em;
	}
	.profile #other-clients ul {font-size: 4.267vw;}
	.profile #other-clients ul li {
		flex: 0 1 14%;
		margin-left: 11%;
		margin-bottom: 2em;
	}
	.profile #other-clients ul li:nth-child(4n+1) {margin-left: 0;}
	.profile #other-clients ul li img {
		max-height: 2em;
		width: auto;
	}
	
	#timeline h3 {
		padding: 0 .625em;
		margin: 0;
	}
	#timeline dl {
		position: absolute;
		left: -9999em;
	}
	#timeline img {
		padding: 0 1.875em;
		max-height: 100vh;
		width: auto;
	}
	.campaign > header nav ul {align-content: flex-start;}
	.campaign .hero {
		font-size: 1em;
		background-size: 100% auto;
	}
	.campaign .hero .inner {padding-top: 88%;}
	.campaign .hero .inner > * {
		font-size: 1.25em;
		line-height: 120%;
	}
	.campaign .hero .inner > header,
	.campaign .hero .inner > form
		{font-size: 1em;}
	.campaign .hero h2 {
		font-size: 2em;
		line-height: 1.094;
		margin-bottom: .906em;
	}
	.campaign .hero form {
		margin-top: 2.938em;
		margin-bottom: 1.875em;
	}
	.campaign .hero fieldset .container > div {margin-bottom: 2em;}
	.campaign .hero fieldset .container > .checkbox {
		margin-top: -.5em;
		margin-bottom: 1.5em;
	}
	.campaign .hero .submit input {margin-bottom: 1.5em;}
	.campaign #thankyou {
		padding-top: 6em;
		margin-bottom: 3em;
		background-position: 50% 1.5em;
	}
	.campaign blockquote {padding-left: 1em;}
	.campaign blockquote p {
		font-size: 1.25em;
		margin-bottom: 0;
	}
}
@media screen and (max-height: 50.75em) and (max-width: 48em) {
	.jsenabled body > header nav ul {padding-bottom: calc(1.875em + 12.315vh);}
	.jsenabled body > header nav ul a {font-size: 7.389vh;}
	.jsenabled body > header nav ul .getintouch a {font-size: 4.433vh;}
}