@import url("http://fast.fonts.net/t/1.css?apiType=css&projectid=a2e7d995-b5b8-40b6-a88e-a7164db42685");

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/d63f77e2-a23d-496f-bc30-c61c7a689aa6.eot?#iefix");
  src: url("../fonts/d63f77e2-a23d-496f-bc30-c61c7a689aa6.eot?#iefix") format("eot"), url("../fonts/4ff9f3fa-9221-4fc5-97e6-93572b6efa24.woff2") format("woff2"), url("../fonts/ca8d25cd-e264-4404-b271-4afc45c779c4.woff") format("woff"), url("../fonts/e8f8260f-dbee-4daa-81a4-0e415715c569.ttf") format("truetype"), url("../fonts/307413a4-d77e-4111-8ba5-e3b7d1e7c160.svg#307413a4-d77e-4111-8ba5-e3b7d1e7c160") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/55740f7d-3bf3-44a5-bfa0-2f1ef436ce72.eot?#iefix");
  src: url("../fonts/55740f7d-3bf3-44a5-bfa0-2f1ef436ce72.eot?#iefix") format("eot"), url("../fonts/a9445981-191b-46c7-866c-acb67f9cc1db.woff2") format("woff2"), url("../fonts/a0e9ae86-436e-483a-8201-6c694e90e9ee.woff") format("woff"), url("../fonts/d2655153-67dd-48c9-a5b2-cec33c40e333.ttf") format("truetype"), url("../fonts/bb000368-bda5-49e9-95a6-79e39b6e3151.svg#bb000368-bda5-49e9-95a6-79e39b6e3151") format("svg");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix");
  src: url("../fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix") format("eot"), url("../fonts/3a46542f-f429-4821-9a88-62e3be54a640.woff2") format("woff2"), url("../fonts/50ac1699-f3d2-47b6-878f-67a368a17c41.woff") format("woff"), url("../fonts/0be5590f-8353-4ef3-ada1-43ac380859f8.ttf") format("truetype"), url("../fonts/82a4e1c2-7ffd-4c58-86fa-4010a6723c8e.svg#82a4e1c2-7ffd-4c58-86fa-4010a6723c8e") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix");
  src: url("../fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix") format("eot"), url("../fonts/261b4efb-3d70-4965-977d-38af9422700d.woff2") format("woff2"), url("../fonts/2e00514e-1764-4250-a0c5-aca3e5a8d133.woff") format("woff"), url("../fonts/e2fe2e07-9419-400f-953d-dc23cfa647a2.ttf") format("truetype"), url("../fonts/000472ba-312c-41be-b038-043ad8254e91.svg#000472ba-312c-41be-b038-043ad8254e91") format("svg");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix");
  src: url("../fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix") format("eot"), url("../fonts/5b1fbd62-45dc-4433-a7df-a2b24a146411.woff2") format("woff2"), url("../fonts/050b1948-f226-4d20-a65a-15d8ed031222.woff") format("woff"), url("../fonts/beb88be6-2a60-46fe-914f-6892b3ae46ce.ttf") format("truetype"), url("../fonts/e5567978-93ef-4de1-804d-1f0e3654a014.svg#e5567978-93ef-4de1-804d-1f0e3654a014") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix");
  src: url("../fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix") format("eot"), url("../fonts/657c2fa4-585b-4761-9e2e-65ab13159323.woff2") format("woff2"), url("../fonts/400869f0-f0d5-49a0-8a11-f4fb4279d125.woff") format("woff"), url("../fonts/14df02b1-01f4-4426-bf7b-ad2f39dc1346.ttf") format("truetype"), url("../fonts/af7715e0-f8ab-4b34-a78f-a9dad7859eff.svg#af7715e0-f8ab-4b34-a78f-a9dad7859eff") format("svg");
  font-weight: bold;
  font-style: italic;
}

@font-face {
  font-family: 'icon';
  src: url('../fonts/icomoon.eot?gb2016');
  src: url('../fonts/icomoon.eot?#iefixgb2016') format('embedded-opentype'),
  url('../fonts/icomoon.woff?gb2016') format('woff'),
  url('../fonts/icomoon.ttf?gb2016') format('truetype'),
  url('../fonts/icomoon.svg?gb2016#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, a:hover, a:active, abbr, acronym, address, big, cite, code, input,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  font-size: 100%;
  vertical-align: top;
  background: transparent;
  color: inherit;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.icon {
  font-family: 'icon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* GLOBAL STYLE ----------------------------------

Sticky footer is enabled - USE PADDING FOR VERTICAL HEIGHTS  */

html {
  z-index: 0;
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  height: 100%;
}

body {
  height: 100%;
  color: #184C6B;
}

h1, h2, h3,
h4, h5, h6, p {
  padding-bottom: 1rem;
  color: inherit;
  font-weight: 300;
}

h1 {
  font-size: 2.5em;
  font-weight: 300;
}

h2 {
  font-size: 1.8em;
}

h3 {
  font-size: 1.5em;
}

h4 {
  font-size: 1.5em;
}

h5 {
  font-size: 1.2em;
  font-weight: bold;
}

h6 {
  font-size: 1em;
}

p {
  font-weight: 300;
  font-style: normal;
  line-height: 1.5em;
}

a {
  color: inherit;
  font-family: inherit;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: inherit;
  transition: all 0.15s;
}

a:visited {
  color: inherit;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style-type: none;
}

address {
  display: inline-block;
  font-style: normal;
}

blockquote {
  font-size: 1em;
  font-style: italic;
  padding: 0 4%;
}

img {
  max-width: 100%;
  height: auto;
}

svg {
  fill: currentColor;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 3%;
}

#main {
  display: block;
  padding: 0 0 3em;
}

strong {
  vertical-align: baseline;
}

input[type='text'],
input[type='email'],
input[type='search'],
textarea {
  background: #f7f7f7;
  color: #444;
  width: 100%;
  font-size: 0.9em;
  padding: 15px;
  border: 1px solid #999;
  border-radius: 2px;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='search']:focus,
textarea:focus {
  background: white;
  padding: 14px;
  border: 2px solid #444444;
  box-shadow: none;
}

input:focus, textarea:focus {
  outline: 0;
}

button {
  transition: all 0.15s !important;
}

.the-title,
.the-subtitle {
  text-transform: uppercase;
}

.clickcatch {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.75);
  z-index: 4;
}

.dark .clickcatch,
.black .clickcatch,
.blue .clickcatch {
  background: rgba(0, 0, 0, 0.75);
}

/* STICKY FOOTER CSS ----------------------------------*/

#page {
  min-height: 100%;
}

#main {
  /* padding-bottom:0; equal to footer height */
}

#footer {
  position: relative;
  margin-top: -0; /* negative value of footer height */
  height: 0;
  clear: both;
}

/*Opera Fix*/
body:before { /* thanks to Maleika (Kohoutec)*/
  content: "";
  height: 100%;
  float: left;
  width: 0;
  margin-top: -32767px; /* thank you Erik J - negate effect of float*/
}

/* HEADER ----------------------------------*/

#header {
  position: relative;
  width: 100%;
  height: 150px;
  z-index: 5;
  transition: background 0.15s;
  padding: 1em;
}

#header.fixed {
  position: fixed;
  top: 0;
}

#header.gradient {
  background: url('../images/top-gradient.png') top left repeat-x;
}

#logo {
  display: inline-block;
  width: 50%;
  max-width: 12em;
}

#logo img {
  max-width: 100%;
  height: auto;
}

#nav-mobile {
  font-size: 3em;
  font-weight: normal;
  margin-top: -0.75rem;
  line-height: 1em;
  float: right;
  transition: all 0.15s;
}

#nav {
  /* Make sure Primary Navigation Menu is set in WP before adjusting #nav and children. */
  display: inline-block;
  float: right;
}

.nav {
  display: inline-block;
}

.nav li {
  display: none;
  position: relative;
  text-align: right;
}

.nav li.current_page_item {
  display: block;
}

.nav li a {
  display: block;
  padding: 0.35em 1em;
  font-size: 0.875em;
}

.nav li a:hover {
  padding: 0.35em 1.5em 0.35em 0.5em;
}

.nav li.current_page_item a:hover {
  padding: 0.35em 1em;
}

.nav li:hover .sub-menu {
  display: inline-block;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 34px;
  left: 0;
  background: #ddd;
}

.sub-menu li {
  width: 100%;
  display: block;
}

.sub-menu li a {
  white-space: nowrap;
}

.menu-primary-container {
  float: right;
}

.social-links {
  float: right;
}

/* Centered logo */

#header.logo-center .container {
  max-width: none !important;
}

#header.logo-center #logo {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -75px;
}

#header.logo-center #nav {
  width: 100%;
}

#header.logo-center #nav a {
  text-transform: uppercase;
}

#header.logo-center .menu-primary-container {
  float: none;
  text-align: center;
}

#header.logo-center #menu-primary {
  display: inline-block;
}

#header.logo-center #menu-primary li {
  display: inline-block;
  float: none;
  width: 100px;
}

#header.logo-center #menu-primary #menu-item-3 {
  margin-right: 200px;
}

#header.logo-center div.social-links {
  position: absolute;
  top: 30px;
  right: 15px;
}

/* Assistive text */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  right: 0;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  line-height: normal;
  padding: 15px 23px 14px;
  position: absolute;
  left: 5px;
  top: 5px;
  text-decoration: none;
  width: auto;
  z-index: 100000; /* Above WP toolbar */
}

/* CONTENT ----------------------------------*/

#content {
  text-align: center;
  margin-top: 5em;
  opacity: 0;
}

#content.has-sidebar {
  display: inline-block;
  width: 70%;
  margin: 0 -5% 30px 0;
  padding-right: 3%;
  min-height: 200px;
}

#content.has-sidebar.left {
  display: inline-block;
  width: 70%;
  float: right;
  min-height: 200px;
}

#content.no-sidebar {
  display: block;
  min-height: 200px;
}

.the-thumbnail img {
  width: 100%;
  height: auto;
}

/* SIDEBAR ----------------------------------*/

#sidebar.has-sidebar {
  display: inline-block;
  float: right;
  width: 25%;
  min-height: 200px;
}

#sidebar.no-sidebar {
  display: none;
}

.sidebar.section {
  margin-bottom: 30px;
}

.sidebar.section li {
  margin-left: 20px;
  list-style-type: disc;
}

.sidebar.section li a {
  display: block;
  padding: 2px 5px 2px 0;
}

#sidebar.has-sidebar.left {
  display: inline-block;
  float: left;
  width: 25%;
  min-height: 200px;
}

/* FOOTER ----------------------------------*/

#footer {
  padding: 0;
}

#footer .siteinfo {
  text-align: center;
}

/* PAGE ----------------------------------*/

body {
  transition: all 0.5s
}

/* dark */
body.dark {
  color: #fff;
  background: #333;
}

body.black {
  color: #fff;
  background: #111;
}

body.dark .gbox,
body.black .gbox,
body.blue .gbox {
  border-color: #fff;
}

/* blue */
body.blue {
  color: #fff;
  background: #144B6C;
}

#content.page .the-thumbnail {
  padding-bottom: 20px;
}

#content.page .the-thumbnail img {
  width: 100%;
}

/* COLUMNS ----------------------------------*/

.column {
  float: left;
  margin-bottom: 15px;
  margin-left: 1%;
  margin-right: 1%;
}

.column.size-1 {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.column.size-2 {
  width: 47.5%;
}

.column.size-3 {
  width: 31%;
}

.column.size-4 {
  width: 23%;
}

.column.size-5 {
  width: 18%;
}

.column.size-6 {
  width: 14.5%;
}

.column.size-7 {
  width: 12.5%;
}

.column.size-8 {
  width: 11%;
}

.column.size-9 {
  width: 10%;
  margin-left: 0.5%;
  margin-right: 0.5%;
}

.column.size-10 {
  width: 9%;
  margin-left: 0.5%;
  margin-right: 0.5%;
}

.new-row {
  clear: both;
}

.end-row {
  margin-right: -2%;
}

/* POPUP ----------------------------------*/
.popup {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: white;
  background: rgba(255, 255, 255, 0.95);
  z-index: 10;
}

.popup .hover-background {
  display: block;
  opacity: 0.5;
}

.popup .close {
  display: inline-block;
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 2em;
  cursor: pointer;
}

.popup .clickout {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 0;
}

.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  max-height: 90%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.popup-image {
  position: relative;
  display: inline-block;
  max-width: 70%;
  height: 100%;
  min-height: 64px;
  min-width: 64px;
}

.popup-image img {
  display: none;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.project-details .the-content {
  color: #666;
  font-size: 0.875em;
}

.project-details {
  display: inline-block;
  max-width: 25%;
  margin-left: 2%;
  text-align: left;
  line-height: 2em;
}

.project-details .the-title > * {
  padding-bottom: 0;
}

.project-details .the-content p {
  color: #999;
  line-height: inherit;
}

.popup-nav a {
  position: absolute;
  top: 50%;
  font-size: 3em;
}

.popup-nav a.left {
  left: 1%;
}

.popup-nav a.right {
  right: 1%;
}

.popup-nav a.disabled {
  color: #aaa;
  opacity: 0.4;
  cursor: default;
}


/* HOME ----------------------------------*/
body.home {
  background: #111;
  color: #fff;
}

body.home #logo {
  display: none;
}

body.home .nav li {
  display: block;
}

body.home .gbox {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  border-color: transparent;
  transition: all ease-in 2s;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

body.home .gbox-inner {
  padding: 20%;
}

body.home .gbox svg {
  opacity: 0;
  width: 60%;
  margin-top: 3em;
  padding: 0;
}

.home-background {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  overflow: hidden;
}

.home-background img,
.home-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  width: auto;
  max-height: none;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.home-background:after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.25);
}

/* WEB ----------------------------------*/
.web-projects {
  text-align: center;
}

.web-project {
  display: inline-block;
}

.project-logo {
  transition: all 0.4s;
}

.project-logo a {
  display: inline-block;
  padding: 1em;
}

.project-logo a:hover {
  padding: 0.5em 1em 1.5em;
}

.project-logo img {
  height: 2em;
  width: auto;
}

.hover-background {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: cover;
  opacity: 0.8;
  z-index: -1;
}

.project-images {
  display: none;
}


/* PHOTO ----------------------------------*/

.filters {
  margin-bottom: 2em;
}

.filter {
  display: inline-block;
  padding: 0.5em 1em;
  cursor: pointer;
  border: 0.2em solid transparent;
}

.filter.active {
  border-color: #184C6B;
}

.gallery-item {
  display: none;
  position: relative;
  width: 24.25%;
  margin: 0.25%;
  overflow: hidden;
  cursor: pointer;
}

.gallery-item:before {
  display: block;
  content: '';
  padding-top: 100%;
}

.gallery-item.visible {
  display: inline-block;
}

.gallery-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: none;
  transition: all 0.2s;
}

.gallery-item:hover img {
  width: 104%;
  margin: -2%;
}

.photo-gallery[data-display="large"] .gallery-item {
  width: 49%;
}


/* VIDEO ----------------------------------*/
body.page-template-video a {
  transition: none;
}

body.page-template-video #main {
  padding: 0;
}

#content.video {
  position: relative;
}

#content a.scroller {
  display: inline-block;
}

#content a.scroller span {
  display: block;
}

#content.video .icon {
  font-size: 3em;
}

#video-wrapper {
  position: relative;
  opacity: 0;
  text-align: center;
}

#video-wrapper video {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}


/* ABOUT ----------------------------------*/


/* STYLE HOOKS ----------------------------------*/

/* dark theme */
body.dark-theme {
  color: #fff;
}

body.dark-theme .gbox {
  border-color: #fff;
}

.clearfix {
  clear: both;
}

.arrow-down {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid black;
}

.transparent {
  background-color: transparent !important;
}

.hidden {
  opacity: 0;
  filter: alpha(opacity=0); /* For IE8 and earlier */
}

.darken {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: url("../images/trans-black-1.png");
  background: rgba(0, 0, 0, 0.6);
}

#loading,
.loading {
  background: #F7F7F7 url('../images/loading.gif') center center no-repeat;
}

.spaced {
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.gbox {
  position: relative;
  border: solid 0.75em #184C6B;
  margin: 0 auto 3em;
  max-width: 30em;
}

.gbox:before {
  display: block;
  content: "";
  padding-top: 100%;
}

.gbox-inner {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}

.gbox-inner > * {
  position: absolute;
  top: 50%;
  padding: 10%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
}

video {
  position: relative;
}

.video-pad {
  padding-bottom: 56.25%;
}

.faded {
  opacity: 0.2;
}

.noscroll {
  overflow: hidden;
}


@media only screen and (max-width: 1440px) {
  .container {
    max-width: 1024px;
  }
}

@media only screen and (max-width: 1048px) {

  /* PHOTO */
  .gallery-item {
    width: 32%;
    margin: 0.25%;
  }

}

@media only screen and (max-width: 768px) {


  /* MOBILE NAV */
  #nav .nav li {
    display: none;
  }

  /* SIDEBAR */
  #content.has-sidebar,
  #content.has-sidebar.left,
  #content.has-sidebar.right {
    display: block;
    width: 100%;
    margin: 0 0 30px;
    padding-right: 0;
  }

  #sidebar.has-sidebar,
  #sidebar.has-sidebar.left,
  #sidebar.has-sidebar.right {
    width: 100%;
    margin: 0 0 30px;
    padding-right: 0;
    float: none;
  }

  /* COLUMNS */
  .column.size-2 {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .column.size-3 {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .column.size-4 {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .column.size-5 {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .column.size-6 {
    width: 48% !important;
    margin-left: 1% !important;
  }

  .column.size-7 {
    width: 48% !important;
    margin-left: 1% !important;
  }

  .column.size-8 {
    width: 23% !important;
    margin-left: 1% !important;
  }

  .column.size-9 {
    width: 32% !important;
    margin-left: 1% !important;
  }

  .column.size-10 {
    width: 18% !important;
    margin-left: 1% !important;
  }


  /* POPUP */
  .popup-image {
    max-width: none;
    display: block;
  }

  .project-details {
    display: block;
    max-width: none;
    margin: 1em 0 0 0;
    text-align: center;
  }

  .popup-nav a {
    top: auto;
    bottom: 1%;
    padding: 0.5em;
  }


  /* PHOTO */
  .gallery-item {
    width: 49%;
    margin: 0.25%;
  }


  /* HOOKS */
  .gbox {
    border-width: 0.5em;
  }

}



