@charset "utf-8";

body,div,dl,dt,dd,p,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,blockquote,form{margin:0;padding:0;}
ul,ol{list-style:none;}
img,a img{border:none;display:block;}
*:link,*:visited{text-decoration:none;}
*:active,*:focus{outline:0;}
table{border-collapse:collapse;border-spacing:0;}
label,button{cursor:pointer;}
input,textarea,select{font-family:inherit;font-size:inherit;padding:0;margin:0;vertical-align:middle;}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
input[type=number]{-moz-appearance:textfield;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;margin:0;padding:0;}

::-moz-selection { background-color: #111; color: #FFF; }
::selection { background-color: #111; color: #FFF; }

/*fade in effects*/
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.fade-in { opacity:0;-webkit-animation:fadeIn ease-in 1;-moz-animation:fadeIn ease-in 1;animation:fadeIn ease-in 1;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:0.5s;-moz-animation-duration:0.5s;animation-duration:0.5s; }

@font-face{
font-family:"Avenir-Roman";
src:url("2f5a6074-badc-4e08-83f1-ed67fe5c3d7c.eot?#iefix");
src:url("2f5a6074-badc-4e08-83f1-ed67fe5c3d7c.eot?#iefix") format("eot"),url("75c84254-5125-412c-bc24-56769ae3b627.woff2") format("woff2"),url("b9ebb19d-88c1-4cbd-9baf-cf51972422ec.woff") format("woff"),url("5ed4f98e-9044-4810-88ff-74d412c1351f.ttf") format("truetype"),url("4cb16859-16ca-4342-b89c-292dc83266af.svg#4cb16859-16ca-4342-b89c-292dc83266af") format("svg");
}
@font-face{
font-family:"Avenir-Oblique";
src:url("8f21e618-9282-4df1-b556-73ee82bdd673.eot?#iefix");
src:url("8f21e618-9282-4df1-b556-73ee82bdd673.eot?#iefix") format("eot"),url("09df9e09-83d7-46b3-b5cc-e1dc773dfdcf.woff2") format("woff2"),url("3695342c-b5e2-4010-b0d4-56f563465922.woff") format("woff"),url("2ba9f875-66d9-414d-a426-5a012b443475.ttf") format("truetype"),url("0a88351a-e628-4b1f-99eb-3a729518af0a.svg#0a88351a-e628-4b1f-99eb-3a729518af0a") format("svg");
}
@font-face{
font-family:"Avenir-Heavy";
src:url("f61bf0f6-c193-4100-b940-12a1a01dcee5.eot?#iefix");
src:url("f61bf0f6-c193-4100-b940-12a1a01dcee5.eot?#iefix") format("eot"),url("65cde95a-ac33-4c65-8198-e37857968d1a.woff2") format("woff2"),url("7147ec3a-8ff8-4ec9-8c5c-bd1571dc6ae6.woff") format("woff"),url("d1dc54b2-878d-4693-8d6e-b442e99fef68.ttf") format("truetype"),url("731dd4d3-64da-427d-ba61-01575b3cf3f7.svg#731dd4d3-64da-427d-ba61-01575b3cf3f7") format("svg");
}
strong { font-family: Avenir-Heavy, sans-serif; font-weight: normal; }
em { font-family: Avenir-Oblique, sans-serif; font-style: normal; }

html 					{ overflow-y: scroll; }
body 					{ background-color: #f8f8f8; color: #111; font-family: Avenir-Roman, sans-serif; line-height: 1; }
body.noscroll			{ overflow: hidden; }
.page-layout 			{ margin: 0 auto; padding-top: 105px; position: relative; min-width: 1320px; }
.clear:after			{ clear: both; content: ""; display: table; }

/* PAGE HEADER
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.page-header *          { -moz-transition: all .1s ease-out; -o-transition: all .1s ease-out; -webkit-transition: all .1s ease-out; transition: all .1s ease-out; }
.page-header            { background-color: #FFF; position: fixed; top: 0; left: 0; height: 105px; width: 100%; z-index: 999; }
.page-header .logo      { float: left; height: 45px; margin: 30px 50px; width: 240px; }
.page-nav               { float: right; }
.page-nav ul            { font-family: Avenir-Heavy; height: 45px; line-height: 45px; margin: 30px 30px 30px 50px; width: auto; }
.page-nav li            { float: left; }
.page-nav li a          { color: #000; display: block; padding: 0 20px; }
.page-nav li a:hover    { color: #999;  }
.page-nav li.on a       { text-decoration: underline; }

/* CONTENT
-------------------------------------------------------------------------------------------------*/
.page-content article *                 { -moz-transition: all .1s ease-out; -o-transition: all .1s ease-out; -webkit-transition: all .1s ease-out; transition: all .1s ease-out; }
.page-content article .inner            { max-width: 1290px; margin: 0 auto; padding: 100px 0 0; position: relative; }
.page-content .half 			        { clear: both; float: left; margin-right: 30px; width: 630px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.page-content .half:nth-child(even) 	{ clear: none; margin-right: 0; }
.page-content .quarter                  { float: left; margin: 0 30px 30px 0; width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.page-content .quarter:nth-child(4n) 	{ margin-right: 0; }
.page-content .quarter:nth-child(5n) 	{ clear: both; }

.page-content article img		    { height: auto; width: 100%; }
.page-content .text-left			{ text-align: left; }
.page-content .text-right			{ text-align: right; }
.page-content .text-center			{ text-align: center; }

/*elements*/
.page-content h1			{ color: #000; font-family: Avenir-Heavy; font-size: 50px; font-weight: normal; line-height: 50px; margin: 0 0 50px; padding: 20px 0 0 50px; }
.page-content h1			{ background: url(/assets/images/icons/triangle-black.svg) 0 0 no-repeat; -webkit-background-size: 50px 25px; -o-background-size: 50px 25px; background-size: 50px 25px; }
.page-content h2			{ color: #111; font-size: 28px; font-weight: normal; line-height: 1.5; margin: 0 0 20px; }
.page-content h3			{ color: #111; font-family: Avenir-Heavy; font-size: 18px; font-weight: normal; line-height: 1.5; margin: 0; }
.page-content p				{ color: #111; font-size: 16px; line-height: 1.5; margin: 0 0 20px; }
.page-content hr 			{ background-color: #EEE; border: none; clear: both; color: #EEE; height: 1px; line-height: 1; margin: 40px 0; overflow: hidden; width: 100%; }
.page-content a				{ color: #111; text-decoration: underline; }
.page-content a:hover		{ color: #111; text-decoration: underline; }
.page-content figure:last-child,
.page-content p:last-child,
.page-content ol:last-child,
.page-content ul:last-child{ margin-bottom: 0; }
.page-content figure:only-child,
.page-content h2:only-child,
.page-content h3:only-child,
.page-content h4:only-child,
.page-content p:only-child,
.page-content ol:only-child,
.page-content ul:only-child{ margin-bottom: 0; }

/*lists*/
.page-content ul, 
.page-content ol			{ font-size: 16px; line-height: 1.5; margin: 0 0 20px 20px; }
.page-content ul ul,
.page-content ul ol,
.page-content ol ol,
.page-content ol ul 		{ font-size: 100%; margin: 5px 0 5px 20px; }
.page-content ul 			{ list-style-type: disc; }
.page-content ul ul 		{ list-style-type: disc; }
.page-content ul ul ul 		{ list-style-type: disc; }
.page-content ol 			{ list-style-type: decimal; }
.page-content ol ol 		{ list-style-type: lower-alpha;	}
.page-content ol ol ol		{ list-style-type: lower-roman; }
.page-content li			{ margin-bottom: 5px; }

/*tables*/
.page-content table			{ border-collapse: collapse; margin-bottom: 20px; width: 100%; }
.page-content table th		{ border-bottom: 1px solid #EEE; font-size: 15px; line-height: 20px; padding: 5px; text-align: left; vertical-align: top; }
.page-content table td		{ border: 1px solid #EEE; font-size: 15px; line-height: 20px; padding: 5px; vertical-align: top; }
.page-content table tr:nth-child(odd) td {  }

/* HOME
------------------------------------------------------------------------------------------------------------------------------------------------------*/
article#top                 { background: #000 center no-repeat; position: relative; width: 100%; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }
article#top .intro-text     { color: #FFF; font-size: 28px; position: absolute; bottom: 100px; right: 100px; text-align: right; width: 50%; z-index: 2; }
article#top *               { color: #FFF; }
article#top .triangle       { height: 100%; width: 100%; position: absolute; bottom: 0; right: 0; z-index: 1; opacity: 0.8; }
article#top .triangle       { background: url(/assets/images/bg/triangle-cover.svg) right bottom no-repeat; -webkit-background-size: contain; -o-background-size: contain; background-size: contain; }

article#team .half:first-child      { padding-top: 400px; }
article#team .details	            { margin-right: 0; }
article#team .large-image	        { margin-top: 50px; }

article#portfolio                   { padding-bottom: 50px; }
article#portfolio a:hover img       { opacity: 0.8; }

article#contact                     { background-color: #000; padding-bottom: 50px; }
article#contact *                   { color: #FFF; }
article#contact h1	                { background-image: url(/assets/images/icons/triangle-white.svg); }
article#contact p	                { font-size: 18px; }
article#contact p strong            { color: #BBB; }
article#contact figure	            { clear: both; margin-top: 50px; }
article#contact figure a:hover img  { opacity: 0.9; }

article#contact .end p	            { color: #888; font-size: 14px; padding: 20px 0 0; }
article#contact .end a	            { color: #888; }

/* MEDIA QUERIES
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* width */
@media screen and (max-width: 1340px) {
    .page-layout {  min-width: 1200px; }
    .page-content article .inner { max-width: 1180px; }
    .page-content .half { margin-right: 20px; width: 580px; }
    .page-content .quarter { margin-right: 20px; width: 280px; }
}

/* height */
@media only screen and (min-height: 0) and (max-height: 659px) {
    article#top { height: 480px; }
}
@media only screen and (min-height: 660px) and (max-height: 759px) {
    article#top { height: 580px; }
}
@media only screen and (min-height: 760px) and (max-height: 859px) {
    article#top { height: 680px; }
}
@media only screen and (min-height: 860px) {
    article#top { height: 860px; }
}

/* Mobile - Portrait */
@media only screen and (max-width: 479px) {
	html { overflow-y: visible; }
    .page-layout { padding: 0; position: relative; min-width: 300px; }
    .page-header { padding: 20px 0; position: relative; top: auto; left: auto; height: auto; width: 100%; z-index: 999; }
    .page-header .logo { display: block; float: none; height: 45px; margin: 0 0 0 20px; width: 240px; }
    .page-nav { display: none; }
    .page-content article .inner { padding: 40px 20px 0; }
    .page-content .half { float: none; margin: 0 0 20px; padding: 40px 0 0; width: 100%; }
    .page-content .quarter { float: none; margin: 0 0 20px; width: 100%; }
    
    .page-content h1 { font-size: 28px; line-height: 25px; margin: 0 0 20px; padding: 10px 0 0 30px; }
    .page-content h1 { background: -webkit-background-size: 30px 15px; -o-background-size: 30px 15px; background-size: 30px 15px; }
	.page-content h2 { font-size: 20px; }
	.page-content h3 { font-size: 16px; }
	.page-content p { font-size: 14px; }
	.page-content ul, 
	.page-content ol { font-size: 14px; }
    
    article#top { height: auto; }
    article#top .intro-text { font-size: 20px; line-height: 1.5; text-align: left; padding: 260px 20px 30px; position: relative; bottom: auto; right: auto; width: auto; }
    article#top .intro-text br { display: none; }
    article#expertise .half:first-child { display: none; }
    article#expertise .half:nth-child(even) { padding-top: 0; }
    article#team .half:first-child { padding-top: 0; }
    article#team .large-image { margin-top: 20px; }
    article#portfolio { padding-bottom: 20px; }
    article#contact { padding-bottom: 20px; }
    article#contact p { font-size: 16px; }
    article#contact figure { margin-top: 20px; }
}