* {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, 
address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, 
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, 
thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, 
hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
	display: block;
}


*[data-aos] {
	-webkit-transform-style: preserve-3d; 
	-webkit-backface-visibility: hidden;	
}


html {
	width:100%;
	height:100%;
	 -webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape */
}

	
	

body {
	min-width:270px;
	width:100%;
	height:100%;
	color:#ffffff;
	font-size:16px;
	line-height:1.7;
	background-color:#a9b1b3;
	position:relative;
	height:100%;
	font-family:'proxima-nova' , helvetica, arial, sans-serif;
	overflow-x:hidden !important; 
}
	
h1	{
	font-weight:200;
	margin:0 0 10px 0;
	line-height:1.3;
	}
	
h2 {
	font-size:20px;
	margin:10px 0 30px 0;
	color:#000000;
	line-height:1.3;
	position:relative;
	}

h2 span.text {
	display:inline-block;
	}
h2 span.bullet {
	position:absolute;
	left:-20px;
	height:2px;
	width:13px;
	top:17px;
	background-color:#f2e400;
	}


	
h3 {
	font-weight:700;
	margin:0;
	font-size:11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height:1.3;
	}


.sectionTitle {
	font-family: "utopia-std", georgia, times new roman, times, serif;
	font-weight:normal;
}	
	
ul.bullet {
	list-style:none;
	margin:20px 0 20px 0px;
	padding:0;
	}
	
ul.bullet li {
	display:block;
	padding-left:25px;
	background-image:url(../images/general/icon-bullet.svg);
	background-repeat: no-repeat;
	background-position:0px 5px;
	margin:0 0 5px 0;
	}
	

p {
	margin: 0 0 20px 0;
	}

img {
	border:0;
}

a {
	text-decoration: none;
	color:#fcff00;
	}





/* ------------------- NAV TOGGLE ---------------------- */
.navToggle	{
	position:fixed;
	top:5px;
	right:10px;
	z-index:5;
	width:33px;
	height:33px;
	z-index:9;
	cursor:pointer;
	display:block;
	border:0;
	background-color:transparent;

}

.navToggle .top, 
.navToggle .middle1, 
.navToggle .middle2, 
.navToggle .bottom {
	width:25px;
	height:2px;
	background-color:#000000;
	position:absolute;
	left:4px;
	display:block;
}

.navOpen .navToggle .top, 
.navOpen .navToggle .middle1, 
.navOpen .navToggle .middle2, 
.navOpen .navToggle .bottom { 
	background-color:#000000;
}



.navToggle .top 		{ top:9px; }
.navToggle .middle1,
.navToggle .middle2		{ top:15px; }
.navToggle .bottom 		{ top:21px; }
	

.navToggle .top,
.navToggle .bottom	{
	opacity: 1;
	transition: opacity .15s ease-out;
	-moz-transition: opacity .15s ease-out;
	-webkit-transition: opacity .15s ease-out;
}


	
.navToggle	.middle1,
.navToggle	.middle2	{	
	transition: all 0.2s ease-out;	
	transform: rotate(0deg); 
	-ms-transform: rotate(0deg); /* IE 9 */
	-webkit-transform: rotate(0deg); /* Chrome, Safari, Opera */
}


.navOpen .navToggle {
	opacity:0.3;
}


.navOpen .navToggle .top,
.navOpen .navToggle .bottom {
	opacity: 0;
	transition: opacity .15s ease-out;
	-moz-transition: opacity .15s ease-out;
	-webkit-transition: opacity .15s ease-out;
}


.navOpen .navToggle	.middle1	{	
	transition: all 0.2s linear;
	transform: rotate(-45deg) scaleX(1); 
	-ms-transform: rotate(-45deg); /* IE 9 */
	-webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
 }

.navOpen .navToggle	.middle2	{	
	transition: all 0.2s ease-out;
	transform: rotate(45deg)  scaleX(1);; 
	-ms-transform: rotate(45deg); /* IE 9 */
	-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
 }




/* --- NAV --- */
nav ul {
	width:55px;
	position:fixed;
	top:0;
	right:0;
	z-index:4;
	height:0;
	overflow:hidden;
	transition: all .5s ease-out;
	-moz-transition: all .5s ease-out;
	-webkit-transition: all .5s ease-out;
}


.navOpen nav  ul{
	height:180px;
	transition: all .1s ease-out;
	-moz-transition: all .1s ease-out;
	-webkit-transition: all .1s ease-out;
	
}

@keyframes hoverIn{
		from{background-position-x:0px;}
		to{background-position-x:-140px;}
		}

@keyframes hoverOut{
	from{background-position-x:-140px;}
	to{background-position-x:-0px;}
	}


nav ul a {
	position:absolute;
	display:block;
	width:35px;
	height:35px;
	overflow:hidden;
	right:10px;
	top:25px;
	opacity:0;
	background-position:0 0;
	background-repeat:no-repeat;
	background-size:175px;
	transition: all .3s ease-out, opacity  .3s ease-out;
	-moz-transition: all .3s ease-out, opacity  .3s ease-out;
	-webkit-transition: all .3s ease-out, opacity  .3s ease-out;
	
	text-indent:-9999px;
	animation: hoverOut 0.15s steps(4) 1;
    -webkit-animation-fill-mode: forwards; 
    animation-fill-mode: forwards;


} 

nav ul a:hover, nav ul a:active {
	animation: hoverIn 0.2s steps(4) 1;
	 -webkit-animation-fill-mode: forwards; 
    animation-fill-mode: forwards;
}


	

.navHome { background-image:url(../images/shell/nav-home.svg);}
.navCapabilities { background-image:url(../images/shell/nav-capabilities.svg);}	
.navContact { background-image:url(../images/shell/nav-contact.svg);}

.navOpen ul a { opacity:1;}

.navOpen .navHome { top:50px;}
.navOpen .navCapabilities { top: 88px; }
.navOpen .navContact { top: 125px; }

/* ---- SITE ---- */
	
div.site {
	position:relative;
	z-index:2;
	}
	
	
div.bg {
	width:100%;
	height:100%;
	min-height:500px;
	position:fixed;
	top:0;
	left:0;
	background-color:#a9b1b3;
	background-image:url(../images/general/bg-grid.svg);  
	
	background-position:left top;
	background-repeat:no-repeat; 
	background-size:1000px;
	z-index:0;
	}	


#particles-container {
	position:absolute;
 	width:100%; 
	height:100%; 
	top:0; 
	left:0; 
	overflow:hidden;
}
	
#particles-js {
	position:absolute;
	display:block;
	top:0;
	left:0;
	right:0;
	bottom:0;
	
	}
	
.particles-js-canvas-el {
	height:100%;
	}
	
	
img.logo {
	display:block;
	width:120px;
	top:70px;
	left:10%;
	position:absolute;
	z-index: 2;	
	}
	
	
/* -- HERO -- */	

div.hero {
	padding:140px 10% 10% 10%;
	height:85%;
	min-height:480px;
	max-height:550px;
	position:relative;
	z-index: 1;
	}

div.headline {
	line-height:1.5;
	font-family:"utopia-std", georgia, times new roman, times, serif;
	margin-bottom:40px;
	position: relative;
	z-index: 1;
	display:inline-block;
	}


h1 span {
	font-size:24px;
}

h1 span.preamble {
	display:block;
	margin-bottom:5px;
	display:inline-block;
	}
	
h1 span.term {
	position:absolute;
	overflow:hidden;
	vertical-align:middle;
	opacity:0;
	background-color:#fff600;
	color:#000000;
	white-space:nowrap;
	width:0px;
	}
	
h1 span.term.active {
	position:relative;
	display:inline-block;
	opacity:1;
	}

	
h1 span.term span {
	display:inline-block;
	padding:0 10px;
	}

h1 span.group {
	display:block;
	}
		
	
p.tagline	{
	font-size:18px;
	max-width:320px;
	font-family:"utopia-std", georgia, times new roman, times, serif;
	position: relative;
	z-index: 1;
	}

	
	
/* -- CLIENTS -- */	
.clients {
	position:relative;
	z-index:2;
	}

.clients h2 {
	font-weight:700;
	margin:0;
	font-size:11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height:1.3;
	margin:0 0 40px 10%;
	color:#ffffff;
	display:inline-block;
	}

.clients ul {
	width:100%;	
	max-width:1600px;
	overflow:hidden;
	list-style:none;
	padding:0;
	margin:0;
	font-size:0;
	line-height:0;
	
}

.clients ul li {
	display:inline-block;
	position:relative;		
	width:16.66%;
	height:0;
	padding-top:16.66%;
	overflow:hidden;
	
}

.clients ul li img {
	position:absolute;
	left:0;
	top:0;
	display:block;
	width:100%;
	border-left:#ffffff solid 1px;
	border-bottom:#ffffff solid 1px;
	background-color:rgba(255,255,255,1);
	-webkit-box-sizing: content-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: content-box;    /* Firefox, other Gecko */
	box-sizing: content-box;	
}



.clients ul li.XL {
	width:33.332%;
}

.clients ul li.blank {
	background-color:transparent;
}
	
.clients ul li.desk {
	display:none;
}

	
/* -- CAPABILITIES -- */

	
	
	
.capabilities {
	padding:10%; 
	position: relative;
	z-index: 2;
	background-color:#ffffff;
	color:#666666;
}
	
.capabilities h2,
.capabilities h3 {
	color:#000000;
	}
	

.capabilities div.container {
	max-width:550px;
	overflow:visible;
	}

	
/* -- CONTACT -- */	

img.contact {
	position:absolute;
	top:10px;
	right:10%;
	z-index:2;
}

.contact {
	padding:10%; 
	position: relative;
	z-index: 2;
	
	color:#ffffff;
	}

.contact h2 {
	color:#ffffff;
	}	

.contact h3 {
	color:#555555;
	}
	
.contact a {
	color:#ffffff;
	}

	

	
/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:400px) {

	
	/* -- HERO -- */

	
	h1 span {
		font-size:32px;
	}
	
	
		
	p.tagline	{
		font-size:19px;
	}
	
}

	

	
	
/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:600px) {

	
	img.logo {
		top:100px;
		width:140px;
		left:15%;
	}
	
	div.container {
		width:100%;
		max-width:800px;
		overflow:hidden;
	}
	
	
	ul.bullet li {
		background-position:0px 6px;
	}
	
	/* --- NAV TOGGLE --- */
	.navToggle	{
		top:10px;
		right:15px;
	}
	
	nav {
		top:5px;
		right:5px;
	}
	
	
	
	/* -- HERO -- */
	div.hero {
		height:90%;
		padding:200px 5% 10% 15%;
		min-height:600px;
		max-height:none;
	}
	
	.particles-js-canvas-el {
		min-height:600px;
	}
	
	div.headline {
		margin-bottom:60px;
	}
	
	h1 span {
		font-size:42px;
	}
	h1 span.preamble {
		margin-bottom:10px;
	}
	
	
	p.tagline { 
		font-size:20px;
	}
	
	
	/* -- CLIENTS -- */
	.clients,
	.capabilities, 
	.contact {
		padding-left:15%;
	}
	
	
	.clients h2 {
		font-size:13px;
		margin-left:0%;
	}
	
	.clients div.container {
		max-width:none;
	}
	
	
	/* -- CONTACT -- */
	
	
	.contact	div.col1of2 {
		width:48%;
		float:left;
		margin-left:4%;
	}
	
	.contact div.col1of2:first-child {
		margin-left:0;
	}
	
	


}

	
/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:800px) {
	
	
	
	/* -- clients -- */
	.clients ul li {
		width:10%;
		padding-top:10%;
	}
	
	.clients ul li.XL {
		width:20%;
	}
	.clients ul li.mobi { display:none;}
	
	.clients ul li.desk { display:inline-block;}

}
	
/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:1000px) {
	
	body {
		font-size:18px;
	}

	img.logo {
		top:120px;
		width:150px;
	}
	
	h2 {
		font-size:26px;
	}
	
	h2 span.bullet {
		width:25px;
		top:22px;
		left:-35px;
		height:3px;
	}
	
	h3 {
		font-size:13px;
	}
	
	div.bg {
		background-position:left center;
		background-size:cover;
	}
	
	
	/* --- NAV TOGGLE --- */
	.navToggle	{
		top:15px;
		right:20px;
	}
	
	nav ul {
		top:10px;
		right:10px;
	}
	
	
	
	
	/* -- HERO -- */
	div.hero {
		padding:250px 5% 10% 15%;
		min-height:800px;
	}
	
	.particles-js-canvas-el {
		min-height:800px;
	}
	
	h1 span {
		font-size:50px;
	}
	
	
	
	p.tagline {
		font-size:24px;
		max-width:400px;
	}
	
	
	/* -- CAPABILITIES -- */

	.capabilities	div.col1of2 {
		width:48%;
		float:left;
		margin-left:4%;
	}
	
	.capabilities div.col1of2:first-child {
		margin-left:0;
	}
	
	
	/* -- CONTACT -- */
	.contact div.container {
	
	}
	
	
	


}	
	
	
	
/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:1200px) {	
	
	img.logo {
		left:25%;
	}
	
	.clients,
	div.hero {
		padding-left:25%;
	}
	
	.capabilities,
	.contact {
		padding:100px 5% 100px 25%; 
	}
	
	
	/* -- HERO -- */
	
	h1 span {
		font-size:60px;
	}
	
	
	

		
}
	

/* ------------------------------------- BREAKPOINT ---------------------------------- */
@media screen and (min-width:1500px) {	
	
	body {
		font-size:20px;
	}
	

	
	h2 {
		font-size:32px;
		margin-bottom:40px;
	}
	
	h2 span.bullet {
		width:25px;
		height:4px;
		left:-35px;
		top:27px;
	}
	
	

	p { margin-bottom:30px; }
	
	
	ul.bullet {
		margin-top:30px;
	}
	
	ul.bullet li {
	background-position:0px 8px;
	}
	
	
	
	div.hero {
		min-height:900px;	
	}
	
	.particles-js-canvas-el {
		min-height:900px;
	}
	
	h1 span {
		font-size:68px;
	}
	
	
	p.tagline {
		font-size:30px;
		max-width:600px;
	}	
	
	.clients h3 {
		margin-bottom:60px;
	}
	
	.capabilities div.container {
		max-width:600px;
	}
	

}	

	