/*
Theme Name: codplus
Theme URI: --
Author: UX Passion
Author URI: http://www.uxpassion.com
Description: Responsive WordPress theme for codplus.hr
Version: 1.0
Design: UX Passion
HTML/CSS: UX Passion
WordPress: UX Passion
*/

/* ==========================================================================
   Useful mixins
   ========================================================================== */
/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
@import url(https://fonts.googleapis.com/css?family=Oswald:400,300,700&subset=latin,latin-ext);
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * Correct the odd appearance of search inputs in Chrome and Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; }

/**
 * Remove the inner padding and cancel buttons in Chrome on OS X and
 * Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical; }

/* ==========================================================================
   Variables used in project
   ========================================================================== */
/* ==========================================================================
   General styles
   ========================================================================== */
img {
  max-width: 100%;
  height: auto; }

*,
*:after,
*:before {
  box-sizing: border-box; }

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

h1, h2, h3, h4 {
  margin-top: 0;
  font-weight: 400; }

p {
  margin-top: 0; }

button {
  cursor: pointer; }

html {
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

body {
  color: #000;
  font-weight: 300; }

.wrap {
  width: 100%;
  padding: 0 0 0 1.4rem;
  margin: 0 auto; }
  @media (min-width: 45em) {
    .wrap {
      padding-left: 9.25rem; } }
  @media (min-width: 57.5em) {
    .wrap {
      padding-left: 14rem; } }

@media (min-width: 45em) {
  .site-content__wrap {
    padding-left: 10.95rem; } }

@media (min-width: 57.5em) {
  .site-content__wrap {
    padding-left: 15.7rem; } }

.screen-reader-text {
  display: none; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-dots {
  text-align: right; }

.icn {
  display: inline-block;
  vertical-align: middle;
  line-height: 1; }

.icn {
  background: url(img/css/svg/sprite.css-43716fd0.svg) no-repeat; }

.icn.arrow-down {
  background-position: 0 0;
  width: 15.667px;
  height: 8px; }

.icn.arrow-left {
  background-position: 0 1.350210970464135%;
  width: 10.667px;
  height: 16.5px; }

.icn.arrow-right {
  background-position: 0 4.219409282700422%;
  width: 10.667px;
  height: 16.5px; }

.icn.arrow-up {
  background-position: 0 6.988352745424293%;
  width: 15.667px;
  height: 8px; }

.icn.close {
  background-position: 0 8.417508417508417%;
  width: 15px;
  height: 15px; }

.icn.photo {
  background-position: 0 11.60092807424594%;
  width: 33.8px;
  height: 48.7px; }

.icn.photo--small {
  background-position: 0 19.912663755458514%;
  width: 25.4px;
  height: 36.5px; }

.icn.reconstruction {
  background-position: 0 26.868327402135233%;
  width: 33px;
  height: 47px; }

.icn.reconstruction-inv {
  background-position: 0 35.23131672597865%;
  width: 33px;
  height: 47px; }

.icn.sketch {
  background-position: 0 43.73438057836486%;
  width: 33px;
  height: 48.8px; }

.icn.sketch--small {
  background-position: 0 51.30890052356021%;
  width: 24.5px;
  height: 36px; }

.icn.state {
  background-position: 0 58.718861209964416%;
  width: 33px;
  height: 47px; }

.icn.state-inv {
  background-position: 0 67.08185053380782%;
  width: 33px;
  height: 47px; }

.icn.study {
  background-position: 0 75.44483985765125%;
  width: 33px;
  height: 47px; }

.icn.study-inv {
  background-position: 0 83.80782918149467%;
  width: 33px;
  height: 47px; }

.icn.visual {
  background-position: 0 92.98151139831269%;
  width: 35px;
  height: 51.9px; }

.icn.visual--small {
  background-position: 0 99.89484752891693%;
  width: 26px;
  height: 38.4px; }

/* ------ venobox.css --------*/
.vbox-overlay *, .vbox-overlay *:before, .vbox-overlay *:after {
  -webkit-backface-visibility: hidden;
  box-sizing: border-box; }

/* ------- overlay: change here background color and opacity ----- */
.vbox-overlay {
  background: #fdfdfd;
  background: rgba(0, 0, 0, 0.85);
  width: 100%;
  height: auto;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 9999;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: auto; }

/* ----- preloader - choose between CIRCLE, IOS, DOTS, QUADS ----- */
/* circle preloader */
.vbox-preloader {
  position: fixed;
  width: 32px;
  height: 32px;
  left: 50%;
  top: 50%;
  margin-left: -16px;
  margin-top: -16px;
  background-image: url(img/venobox/preload-circle.png);
  text-indent: -100px;
  overflow: hidden;
  -webkit-animation: playload 1.4s steps(18) infinite;
  animation: playload 1.4s steps(18) infinite; }

@-webkit-keyframes playload {
  from {
    background-position: 0px; }
  to {
    background-position: -576px; } }

@keyframes playload {
  from {
    background-position: 0px; }
  to {
    background-position: -576px; } }

/* IOS preloader */
/*.vbox-preloader{
    position:fixed; 
    width:32px; 
    height:32px;
    left:50%; 
    top:50%; 
    margin-left:-16px; 
    margin-top:-16px;
    background-image: url(img/venobox/preload-ios.png);
    text-indent: -100px;
    overflow: hidden;
    -webkit-animation: playload 1.4s steps(12) infinite;
       -moz-animation: playload 1.4s steps(12) infinite;
        -ms-animation: playload 1.4s steps(12) infinite;
         -o-animation: playload 1.4s steps(12) infinite;
            animation: playload 1.4s steps(12) infinite;
}

@-webkit-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-moz-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-ms-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-o-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
*/
/* dots preloader */
/*
.vbox-preloader{
    position:fixed; 
    width:32px; 
    height:11px;
    left:50%; 
    top:50%; 
    margin-left:-16px; 
    margin-top:-16px;
    background-image: url(img/venobox/preload-dots.png);
    text-indent: -100px;
    overflow: hidden;
    -webkit-animation: playload 1.4s steps(24) infinite;
       -moz-animation: playload 1.4s steps(24) infinite;
        -ms-animation: playload 1.4s steps(24) infinite;
         -o-animation: playload 1.4s steps(24) infinite;
            animation: playload 1.4s steps(24) infinite;
}

@-webkit-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -768px; }
}
@-moz-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -768px; }
}
@-ms-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -768px; }
}
@-o-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -768px; }
}
@keyframes playload {
   from { background-position:    0px; }
     to { background-position: -768px; }
}
*/
/* quads preloader */
/*
.vbox-preloader{
    position:fixed; 
    width:32px; 
    height:10px;
    left:50%; 
    top:50%; 
    margin-left:-16px; 
    margin-top:-16px;
    background-image: url(img/venobox/preload-quads.png);
    text-indent: -100px;
    overflow: hidden;
    -webkit-animation: playload 1.4s steps(12) infinite;
       -moz-animation: playload 1.4s steps(12) infinite;
        -ms-animation: playload 1.4s steps(12) infinite;
         -o-animation: playload 1.4s steps(12) infinite;
            animation: playload 1.4s steps(12) infinite;
}
@-webkit-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-moz-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-ms-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@-o-keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
@keyframes playload {
   from { background-position:    0px; }
     to { background-position: -384px; }
}
*/
/* ----- navigation ----- */
.vbox-close {
  cursor: pointer;
  position: fixed;
  top: -1px;
  right: 0;
  width: 46px;
  height: 40px;
  padding: 10px 20px 10px 0;
  display: block;
  background: url(img/venobox/close.gif) no-repeat #161617;
  background-position: 10px center;
  color: #fff;
  text-indent: -100px;
  overflow: hidden; }

.vbox-next, .vbox-prev {
  box-sizing: content-box;
  cursor: pointer;
  position: fixed;
  top: 50%;
  color: #fff;
  width: 30px;
  height: 170px;
  margin-top: -85px;
  text-indent: -100px;
  border: solid transparent;
  /* Using border instead of padding to keep bg image in place */
  overflow: hidden; }

.vbox-prev {
  left: 0;
  border-width: 0 30px 0 10px;
  background: url(img/venobox/prev.gif) center center no-repeat; }

.vbox-next {
  right: 0;
  border-width: 0 10px 0 30px;
  background: url(img/venobox/next.gif) center center no-repeat; }

.vbox-title {
  width: 100%;
  height: 40px;
  float: left;
  text-align: center;
  line-height: 28px;
  font-size: 12px;
  color: #fff;
  padding: 6px 40px;
  overflow: hidden;
  background: #161617;
  position: fixed;
  display: none;
  top: -1px;
  left: 0; }

.vbox-num {
  cursor: pointer;
  position: fixed;
  top: -1px;
  left: 0;
  height: 40px;
  display: block;
  color: #fff;
  overflow: hidden;
  line-height: 28px;
  font-size: 12px;
  padding: 6px 10px;
  background: #161617;
  display: none; }

/* ------- inline window ------ */
.vbox-inline {
  width: 420px;
  height: 315px;
  padding: 10px;
  background: #fff;
  text-align: left;
  margin: 0 auto;
  overflow: auto; }

/* ------- Video & iFrames window ------ */
.venoframe {
  border: none;
  width: 960px;
  height: 720px; }

@media (max-width: 992px) {
  .venoframe {
    width: 640px;
    height: 480px; } }

@media (max-width: 767px) {
  .venoframe {
    width: 420px;
    height: 315px; } }

@media (max-width: 460px) {
  .vbox-inline {
    width: 100%; }
  .venoframe {
    width: 100%;
    height: 260px; } }

/* ------- PLease do NOT edit this! (or do it at your own risk) ------ */
.vbox-open {
  overflow: hidden; }

.vbox-container {
  position: relative;
  background: #000;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px; }

.vbox-content {
  text-align: center;
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden; }

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

/* Components */
/* Structures */
.site-header {
  position: relative;
  z-index: 10; }

.site-logo a {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  width: 164px;
  height: 112px;
  display: block;
  background: transparent url(img/logo-5.svg) 0 0/contain no-repeat; }

.site-header__wrap {
  padding-top: 3rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start; }

@media (min-width: 45em) {
  .site-header__wrap {
    padding-top: 5.5rem; }
  .site-branding {
    margin-left: -5.5rem; } }

@media (min-width: 57.5em) {
  .site-header__wrap {
    padding-top: 4rem; } }

.site-nav {
  height: 100vh;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  -webkit-transform: translate3d(0, -100vh, 0);
  transform: translate3d(0, -100vh, 0);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #fff;
  z-index: 1000;
  font-size: 18px;
  transition: -webkit-transform 0.4s ease-in, opacity 0.3s 0.1s ease-in;
  transition: transform 0.4s ease-in, opacity 0.3s 0.1s ease-in; }
  .site-nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .site-nav li {
    border-bottom: 1px solid #ccc; }
  .site-nav a {
    padding: 1rem 2rem;
    display: block;
    transition: all 0.3s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

body.site-nav--open {
  height: 100vh;
  position: static;
  overflow: hidden; }
  body.site-nav--open .site-nav {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition: -webkit-transform 0.4s ease-out, opacity 0.4s ease-out;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out; }

.site-nav__root-item {
  font-size: 24px;
  font-weight: 400;
  line-height: 1; }
  .site-nav__root-item span {
    position: relative; }
    .site-nav__root-item span:after {
      content: "";
      width: 40px;
      height: 3px;
      position: absolute;
      top: 50%;
      right: -60px;
      display: block;
      background: transparent url(img/square-bullet.gif) 0 0 repeat-x; }

.site-nav__submenu {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.4s; }
  .site-nav__submenu.open {
    opacity: 1; }
  .site-nav__submenu a:hover {
    background-color: #000;
    color: #fff; }

.site-nav__submenu-toggle {
  transition: all 0.3s; }
  .site-nav__submenu-toggle.active {
    background-color: #ccc; }

.site-nav__back {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
  background-color: transparent;
  width: 100%;
  padding: 1rem 2rem;
  display: block;
  text-align: left; }

.site-nav__toggle {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
  background-color: transparent;
  padding: 3.5rem 2rem 0 0;
  margin-left: auto;
  position: relative;
  text-align: left;
  font-size: 18px;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start; }
  .site-nav__toggle:focus {
    outline: none; }
  .site-nav__toggle .icn {
    position: absolute;
    right: 3rem;
    bottom: 0.5rem; }

@media (min-width: 45em) {
  .site-nav__toggle {
    display: none; } }

.nav-toggles {
  display: none; }

.projects-toggle .close {
  display: none; }

body.projects--open .projects-toggle .arrow-down {
  display: none; }

body.projects--open .projects-toggle .close {
  display: inline-block; }

@media (min-width: 45em) {
  .nav-toggles {
    padding: 1.75rem 2.5rem 0 3rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1; }
  .about-toggle,
  .projects-toggle {
    -webkit-appearance: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background-color: transparent; }
    .about-toggle:focus,
    .projects-toggle:focus {
      outline: none; }
  .about-toggle {
    font-size: 14px; }
  .about-toggle__label {
    position: relative;
    padding: 0 60px 0 3px;
    transition: all 0.3s; }
    .about-toggle__label:after {
      content: "";
      width: 40px;
      height: 3px;
      position: absolute;
      top: 50%;
      right: 0;
      display: block;
      background: transparent url(img/square-bullet.gif) 0 0 repeat-x; }
    .about-toggle__label:before {
      content: "";
      width: 100%;
      height: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
      position: absolute;
      transition: all 0.3s;
      background-color: #000; }
  body.about--open .about-toggle__label {
    color: #fff; }
    body.about--open .about-toggle__label:before {
      height: 100%; }
    body.about--open .about-toggle__label:after {
      background-image: url(img/square-bullet-white.gif); }
  .projects-toggle {
    margin-left: auto; } }

@media (min-width: 57.5em) {
  .nav-toggles {
    max-width: 49.25rem;
    padding-right: 4.75rem;
    padding-left: 6rem; } }

.hero-section {
  padding-left: 1.4rem;
  overflow: hidden; }

.hero-section__media {
  max-height: 25.5rem;
  max-width: none; }
  .hero-section__media .slick-arrow {
    -webkit-appearance: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background-color: transparent;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    color: transparent;
    height: 70px;
    width: 35px;
    margin-top: -35px;
    position: absolute;
    top: 50%;
    z-index: 1;
    background: #fff url(img/slider-arrows.svg) center no-repeat;
    background-size: 57px auto;
    transition: all 0.3s; }
    .hero-section__media .slick-arrow:hover, .hero-section__media .slick-arrow:focus {
      outline: none; }
  .hero-section__media .slick-prev {
    left: 0;
    background-position: 8px center; }
  .hero-section__media .slick-next {
    right: 0;
    background-position: -29px center; }

.hero-slide:not(:first-child) {
  display: none; }
  .slick-initialized .hero-slide:not(:first-child) {
    display: block; }

.hero-slide__video {
  height: 0;
  padding-bottom: 53.5%;
  position: relative; }
  .hero-slide__video iframe,
  .hero-slide__video object {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }

@media (min-width: 45em) {
  .hero-section {
    padding-left: 10.95rem; } }

@media (min-width: 57.5em) {
  .hero-section {
    max-width: calc(1378px + 14rem);
    padding-left: 15.7rem; }
  .hero-section__media {
    max-height: 30rem; }
    .hero-section__media .slick-arrow {
      width: 55px;
      height: 138px;
      margin-top: -69px;
      background-size: auto; }
    .hero-section__media .slick-prev {
      background-position: 11px center; }
      .hero-section__media .slick-prev:hover {
        background-position: 8px center; }
    .hero-section__media .slick-next {
      background-position: -82px center; }
      .hero-section__media .slick-next:hover {
        background-position: -79px center; } }

@media (min-width: 75em) {
  .hero-section__media {
    max-height: 46rem; } }

.projects-section {
  display: none; }

.projects-filter {
  padding: 0;
  margin: 0;
  list-style: none;
  padding: 1.4rem 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .projects-filter li {
    margin-right: 1rem; }

.project-filter {
  width: 3rem;
  position: relative;
  display: block;
  overflow: hidden; }
  .project-filter:hover {
    overflow: visible; }
    .project-filter:hover .filter-bubble {
      -webkit-transform: translate3d(-50%, -3rem, 0);
      transform: translate3d(-50%, -3rem, 0);
      opacity: 1;
      z-index: 500; }
  .project-filter .icn-active {
    display: none; }
  .project-filter.active .icn {
    display: none; }
  .project-filter.active .icn-active {
    display: inline-block; }

.filter-bubble {
  padding: 0.25em 1.5em;
  position: absolute;
  left: 50%;
  opacity: 0;
  -webkit-transform: translate3d(-50%, -2.5rem, 0);
  transform: translate3d(-50%, -2.5rem, 0);
  background-color: #f1f1f1;
  color: #333;
  transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  -webkit-backface-visibility: hidden; }
  .filter-bubble:after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: calc(50% - 8px);
    border-top: 8px solid #f1f1f1;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent; }

.projects-lists {
  max-width: 55.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  font-size: 14px; }

@media (min-width: 45em) {
  .projects-section {
    display: block; } }

body:not(.page-template-page-home) .projects-section {
  position: absolute;
  top: 12.5rem;
  right: 0;
  left: 0;
  z-index: 1000;
  visibility: hidden;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

body:not(.page-template-page-home) .projects-section__wrap {
  width: auto;
  padding-left: 1.4rem;
  padding-bottom: 2rem;
  margin-right: 0;
  margin-left: 2rem;
  background-color: #fff; }

body:not(.page-template-page-home).projects--init .projects-section {
  visibility: visible;
  -webkit-animation: shrink 0.3s forwards;
  animation: shrink 0.3s forwards; }

body:not(.page-template-page-home).projects--open .projects-section {
  -webkit-animation: grow 0.3s forwards;
  animation: grow 0.3s forwards; }

body:not(.page-template-page-home).projects--open .project__header {
  opacity: 0; }

@media (min-width: 57.5em) {
  body:not(.page-template-page-home) .projects-section {
    top: 11rem; }
  body:not(.page-template-page-home) .projects-section__wrap {
    max-width: 920px;
    margin-left: 10rem;
    padding-left: 4rem; } }

.letter-list,
.letter-child-list {
  padding: 0;
  margin: 0;
  list-style: none; }

.letter-list {
  width: 185px;
  margin-right: 1.4rem;
  margin-bottom: 0.5em; }
  @media (min-width: 57.5em) and (max-width: 70em) {
    .letter-list:nth-child(3n+3) {
      margin-right: 0; } }
  @media (min-width: 71em) and (max-width: 75em) {
    .letter-list:nth-child(4n+4) {
      margin-right: 0; } }

.letter-list__title {
  margin-bottom: 0.65em;
  background: transparent url(img/letter-list__title.gif) 30px center no-repeat;
  font-size: 16px;
  font-weight: 400; }

.letter-child-list {
  line-height: 1.1875; }
  .letter-child-list li {
    margin-bottom: 1.175em; }
  .letter-child-list a {
    display: block;
    color: #333; }
    .letter-child-list a span {
      background: transparent linear-gradient(0deg, #000 1px, #000 10px) left bottom/100% 0 no-repeat;
      transition: all 0.2s; }
    .letter-child-list a:hover span {
      color: #fff;
      background-size: 100% 100%; }

.site-footer {
  padding: 1.4rem 0 2rem 0;
  font-weight: 400;
  font-size: 16px; }

.site-footer__wrap {
  padding-top: 1.4rem;
  position: relative; }
  .site-footer__wrap:before {
    content: "";
    height: 3px;
    width: 78px;
    position: absolute;
    top: 0;
    left: 1.4rem;
    background: transparent url(img/square-bullet.gif) 0 0 repeat-x; }

.footer-address {
  font-weight: 300;
  font-style: normal;
  font-size: 14px; }
  .footer-address a {
    padding: 0 1px;
    background: transparent linear-gradient(0deg, #000 1px, #000 10px) left bottom/100% 0 no-repeat;
    transition: all 0.2s; }
    .footer-address a:hover {
      color: #fff;
      background-size: 100% 100%; }

.footer-col {
  width: 154px;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
  background: transparent url(img/square-bullet.gif) 0 10px no-repeat; }
  .footer-col > *:first-child {
    margin-top: 0; }

.footer-title {
  margin: 0;
  font-size: 14px;
  line-height: inherit;
  font-weight: 300; }

.footer-social {
  margin-top: 3rem;
  margin-left: -1.2rem; }
  .footer-social ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .footer-social a {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    color: transparent;
    display: block; }
  .footer-social .social-link--instagram {
    width: 56px;
    height: 28px;
    background: transparent url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+R3JvdXA8L3RpdGxlPjxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTEuNjQgNS4wN2wuOTM4LTNzMS44MTItLjY4OCAyLS44MTJjLjE4OC0uMTI0IDkuODc1LjI1IDkuODc1LjI1czEuODEyLjg3NSAyLjA2Mi45MzhjLjI1LjA2MyAxLjA2MiAxLjU2MiAxLjA2MiAxLjc1IDAgLjE4OC4zNzUgNCAuMzc1IDRzLjE4OCA0Ljg3NS4wNjIgNS4xMjUtMS41IDMuMTI1LTEuNSAzLjEyNWwtMi4xODguODc1LTcuODc1LjMxMnMtMy4wNjItLjc1LTMuMjUtLjgxMmMtLjE4OC0uMDYyLTEuMzc1LTEuODEyLTEuNS0yLjA2Mi0uMTI1LS4yNS0uNDM4LTIuOTM4LS40MzgtMi45MzhMMS42NCA1LjA3eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik03LjQ5MS41MjVhNTAuNjQgNTAuNjQgMCAwIDEgNC40NzcgMGMxLjYxMS4wNzEgMi44MjIuMDk2IDMuODkxLjU4NmE0LjUyNSA0LjUyNSAwIDAgMSAyLjIyMyAyLjI1NGMuNDQ2IDEuMDExLjQ3NyAyLjI2Mi41NTYgMy45MjEuMDYzIDEuMzQxLjAzOCAyLjk1OC0uMDMxIDQuNDQ2LS4wNzYgMS42NDYtLjA2NCAyLjc1My0uNTg2IDMuODlhNC40MiA0LjQyIDAgMCAxLTIuMjU0IDIuMjI0Yy0xLjA3Ny40ODItMi4yODguNDc4LTMuOTIxLjU1Ni0xLjU3Ny4wNzUtMi45MDIuMDctNC40MTUgMC0xLjU4LS4wNzQtMi44NDktLjA3Mi0zLjkyMS0uNTU2YTQuNDgzIDQuNDgzIDAgMCAxLTIuMjIzLTIuMjU0Yy0uNDc4LTEuMDY3LS40NzgtMi4yNzQtLjU1Ni0zLjkyMWE0Mi43NzUgNDIuNzc1IDAgMCAxIDAtNC40MTVjLjA4LTEuNjk0LjA2OS0yLjgzNC41NTYtMy45MjEuNDUyLTEuMDEgMS4yOTQtMS44MzUgMi4yMjMtMi4yNTRDNC42MDkuNTg0IDUuNzguNjA2IDcuNDkxLjUyNXptLS41NTUgMS42MzZjLTEuNzg0IDAtMy4yNjcuMjcxLTQuMDE0IDEuNTEzLS43MzIgMS4yMi0uNTg2IDMuNDU4LS41ODYgNS4zNzIgMCAxLjg0OC0uMTg5IDQuMjg0LjM0IDUuNjUuMjkzLjc1Ny44MzEgMS4zNTEgMS41MTMgMS42NjcuNzczLjM1OSAxLjc1NC4zNSAyLjg0LjQwMSAxLjE0NS4wNTUgMi4xNzguMDMxIDMuMjExLjAzMSAyLjAwNiAwIDQuNDAxLjE1NiA1LjU4OC0uODk2IDEuMjEyLTEuMDc0IDEuMTczLTMuMDEgMS4xNzMtNS4zMTFWNy4zNDdjMC0xLjAyNC0uMDE2LTIuMjA2LS4yNzctMi45OTUtLjQ4NC0xLjQ1OC0xLjc5Mi0yLjExOC0zLjc2Ny0yLjE5Mi0xLjgwOC0uMDY4LTQuMDQyLS4wOTEtNS45NTggMC0uMDIyLjAwMi0uMDQzLjAwMS0uMDYzLjAwMXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTQuMjIyIDMuNjQzYy42MTktLjEyIDEuMjAyLjI3MSAxLjI5Ny44MDMuMjg3IDEuNjEzLTIuMTU5IDEuNjk1LTIuMTYxLjI0Ny0uMDAyLS41NzIuMzA3LS45NDIuODY0LTEuMDV6TTkuNDY3IDQuODc4YzEuMzgtLjA4MSAyLjYzNy41MzUgMy4zNjUgMS4yMzUuNzM0LjcwNiAxLjM4MyAxLjg2NiAxLjQ1MSAzLjE0OS4wODEgMS41MDQtLjU0NyAyLjU4OC0xLjI2NiAzLjMzNC0uODA3LjgzOC0xLjc3OCAxLjM3LTMuMTQ5IDEuNDUxYTQuNTE0IDQuNTE0IDAgMCAxLTMuMzM0LTEuMjA0Yy0uODE5LS43NzQtMS4zNTMtMS43MTYtMS40NTEtMy4xNDlBNC40MTEgNC40MTEgMCAwIDEgNi4yODcgNi4zNmMuNzQ0LS43ODMgMS43MTUtMS4zOTYgMy4xOC0xLjQ4MnpNNi42ODggOS4zMjRjLS4wOTYgMS45ODEgMS41NTEgMy4yMTUgMy4xNDkgMy4xMTggMS40NzItLjA4OSAyLjk0NC0xLjI5MSAyLjgxLTMuMTgtLjA3OS0xLjEwNC0uNjI5LTEuNzc3LTEuMjY2LTIuMjIzYTIuODggMi44OCAwIDAgMC0yLjAwNy0uNTI1Yy0xLjQ1My4xNTYtMi42MDggMS4yMDQtMi42ODYgMi44MXoiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+") center no-repeat; }
  .footer-social .social-link--twitter {
    width: 56px;
    height: 28px;
    background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIxcHgiIGhlaWdodD0iMThweCIgdmlld0JveD0iMCAwIDIxIDE4IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0MiAoMzY3ODEpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnR3aXR0ZXItbG9nbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ0d2l0dGVyLWxvZ28iIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0iIzFEMUQxQiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMC40OTIsMi43OTEgQzE5Ljc1NywzLjExOCAxOC45NjYsMy4zMzggMTguMTM2LDMuNDM3IEMxOC45ODQsMi45MjkgMTkuNjM0LDIuMTI1IDE5Ljk0LDEuMTY2IEMxOS4xNDcsMS42MzcgMTguMjY5LDEuOTc4IDE3LjMzNSwyLjE2MyBDMTYuNTg3LDEuMzY1IDE1LjUyMSwwLjg2NyAxNC4zNCwwLjg2NyBDMTIuMDc0LDAuODY3IDEwLjIzNywyLjcwNCAxMC4yMzcsNC45NyBDMTAuMjM3LDUuMjkyIDEwLjI3Myw1LjYwNSAxMC4zNDMsNS45MDUgQzYuOTMzLDUuNzM0IDMuOTA5LDQuMSAxLjg4NSwxLjYxOCBDMS41MzIsMi4yMjQgMS4zMywyLjkyOSAxLjMzLDMuNjggQzEuMzMsNS4xMDQgMi4wNTQsNi4zNiAzLjE1NSw3LjA5NiBDMi40ODMsNy4wNzUgMS44NDksNi44OSAxLjI5Nyw2LjU4MyBMMS4yOTcsNi42MzUgQzEuMjk3LDguNjIzIDIuNzEyLDEwLjI4MSA0LjU4OSwxMC42NTggQzQuMjQ1LDEwLjc1MiAzLjg4MiwxMC44MDIgMy41MDgsMTAuODAyIEMzLjI0MywxMC44MDIgMi45ODcsMTAuNzc3IDIuNzM2LDEwLjcyOSBDMy4yNTgsMTIuMzU5IDQuNzc0LDEzLjU0NSA2LjU2OSwxMy41NzkgQzUuMTY1LDE0LjY4IDMuMzk2LDE1LjMzNSAxLjQ3MywxNS4zMzUgQzEuMTQyLDE1LjMzNSAwLjgxNSwxNS4zMTUgMC40OTQsMTUuMjc4IEMyLjMxLDE2LjQ0MiA0LjQ2NywxNy4xMjIgNi43ODQsMTcuMTIyIEMxNC4zMzIsMTcuMTIyIDE4LjQ1OSwxMC44NjkgMTguNDU5LDUuNDQ3IEMxOC40NTksNS4yNyAxOC40NTUsNS4wOTIgMTguNDQ3LDQuOTE2IEMxOS4yNDcsNC4zMzcgMTkuOTQzLDMuNjE0IDIwLjQ5MiwyLjc5MSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==") center no-repeat; }
  .footer-social .social-link--linkedin {
    width: 56px;
    height: 28px;
    background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0MiAoMzY3ODEpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPmxpbmtlZGluLWxvZ288L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0ibGlua2VkaW4tbG9nbyIgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSIjMUQxRDFCIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE0LjcwNyw2LjYzOSBDMTIuNTA1LDYuNjM5IDExLjUxOSw3Ljg0OCAxMC45NjYsOC43IEwxMC45NjYsOC43NDEgTDEwLjkzOSw4Ljc0MSBDMTAuOTQ5LDguNzI5IDEwLjk1OSw4LjcxNCAxMC45NjYsOC43IEwxMC45NjYsNi45MzIgTDYuODE3LDYuOTMyIEM2Ljg3MSw4LjEwMiA2LjgxNywxOS40MTYgNi44MTcsMTkuNDE2IEwxMC45NjYsMTkuNDE2IEwxMC45NjYsMTIuNDQzIEMxMC45NjYsMTIuMDY4IDEwLjk5MywxMS42OTkgMTEuMTAzLDExLjQzMSBDMTEuNDA0LDEwLjY4NyAxMi4wODcsOS45MTEgMTMuMjMzLDkuOTExIEMxNC43MzYsOS45MTEgMTUuMzM2LDExLjA1NyAxNS4zMzYsMTIuNzM1IEwxNS4zMzYsMTkuNDE1IEwxOS40ODYsMTkuNDE1IEwxOS40ODYsMTIuMjU3IEMxOS40ODUsOC40MjIgMTcuNDM4LDYuNjM5IDE0LjcwNyw2LjYzOSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTIuNDcyLDAuOTEgQzEuMDUzLDAuOTEgMC4xMjQsMS44NDQgMC4xMjQsMy4wNjggQzAuMTI0LDQuMjY1IDEuMDI0LDUuMjI2IDIuNDE3LDUuMjI2IEwyLjQ0NCw1LjIyNiBDMy44OTEsNS4yMjYgNC43OTMsNC4yNjUgNC43OTMsMy4wNjggQzQuNzY2LDEuODQ0IDMuODkyLDAuOTEgMi40NzIsMC45MSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjM2OSIgeT0iNi45MzIiIHdpZHRoPSI0LjE1MSIgaGVpZ2h0PSIxMi40ODQiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==") center no-repeat; }

@media (min-width: 36em) {
  .footer-address {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .footer-col {
    margin-right: 2.5rem; }
    .footer-col:first-child {
      width: 128px; } }

@media (min-width: 45em) {
  .site-footer {
    padding-top: 4rem;
    padding-bottom: 7rem; }
  .site-footer__wrap {
    padding-top: 4.75rem; }
    .site-footer__wrap:before {
      width: 156px;
      left: 9.25rem; }
  .footer-social {
    margin-top: 2rem; } }

@media (min-width: 57.5em) {
  .site-footer__wrap:before {
    left: 14rem; }
  .footer-col {
    margin-right: 3.5rem; } }

.project {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.project-tabs {
  width: 100%;
  position: relative; }

.project-tab {
  display: none; }

.project-tab--active {
  display: block; }

.project-tabs-nav {
  padding: 0;
  margin: 0;
  list-style: none;
  padding: 1rem 1rem 1rem 0;
  position: absolute;
  top: 2rem;
  left: 0;
  background-color: #fff;
  z-index: 1; }
  .project-tabs-nav li:not(:last-child) .icn {
    margin-bottom: 1rem; }
  @media (max-width: 45em) {
    .project-tabs-nav .icn:not([class*="small"]) {
      display: none; } }

@media (min-width: 45em) {
  .project-tabs-nav {
    top: 14.5rem;
    left: -3.5rem; }
    .project-tabs-nav .icn[class*="small"] {
      display: none; } }

.project__hero-wrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.project__hero {
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  position: relative;
  margin-bottom: 1.4rem; }
  .project__hero img {
    max-width: none;
    max-height: 21rem; }

.project__hero--main {
  margin-bottom: 0; }

.project__media {
  width: 100%;
  overflow: hidden; }

.project__secondary {
  margin-left: -1.4rem; }
  .project__secondary img {
    max-width: none;
    max-height: 21rem; }

.project__video {
  height: 0;
  padding-bottom: 56.25%;
  position: relative; }
  .project__video iframe,
  .project__video object {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }

.project__index {
  padding: 1.25rem 1.5rem;
  position: absolute;
  top: -2.75rem;
  right: 3rem;
  background-color: #fff;
  font-weight: 400;
  font-size: 36px;
  line-height: 1; }
  @media (min-width: 23em) {
    .project__index {
      right: 6rem; } }

@media (min-width: 45em) {
  .project {
    display: block;
    position: relative; }
  .project__hero {
    margin-bottom: 1.4rem;
    -webkit-order: initial;
    -ms-flex-order: initial;
    order: initial; }
    .project__hero img {
      max-height: 28rem; }
  .project__secondary {
    margin-right: 3.5rem;
    margin-left: 0;
    margin-bottom: 1.4rem; }
  .project__index {
    font-size: 60px;
    top: 7.5rem;
    left: -5rem;
    right: auto; } }

@media (min-width: 57.5em) {
  .project__secondary img {
    max-height: 23rem; } }

@media (min-width: 75em) {
  .project {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap; }
  .project__hero-wrap {
    width: 100%;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
  .project__hero {
    max-width: 50%;
    margin-right: 1.4rem; }
  .project__video {
    width: 724px;
    height: 407px;
    padding: 0; }
  .project__hero--video {
    max-width: none;
    width: 724px; }
  .project__secondary {
    max-width: calc(50% - 1.4rem);
    margin-right: 0;
    overflow: hidden; }
    .project__secondary img {
      max-height: 28rem; }
  .project__secondary--video {
    max-width: calc(100% - 724px - 1.4rem); } }

.project__header {
  padding: 2.5rem 1.4rem 2.5rem 0;
  background-color: #fff;
  transition: all 0.3s; }

.project__title {
  margin-bottom: 0.85em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 35px;
  line-height: 1.2;
  font-weight: 400; }

.project__category {
  width: 4.5rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0; }

.project__meta {
  color: #333;
  font-size: 18px; }

@media (min-width: 45em) {
  .project__header {
    width: 23.25rem;
    padding: 2rem 1.4rem 1.2rem 1.4rem;
    position: absolute;
    top: -3.95rem;
    left: 9rem;
    z-index: 1; }
    .project__header:after {
      content: "";
      width: 3px;
      height: 75px;
      position: absolute;
      top: 3.95rem;
      right: 0;
      background: transparent url(img/square-bullet-vert.gif) 0 0 repeat-y; }
  .project__title {
    font-size: 30px; }
  .project__meta {
    font-size: 16px; }
  .project__category {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; } }

@media (min-width: 57.5em) {
  .project__header {
    left: 18rem; } }

@media (min-width: 75em) {
  .project__header {
    top: -3.95rem;
    left: 23.4rem; } }

.island-wrap {
  margin-bottom: 1.4rem; }

.island {
  margin-left: -1.4rem; }

.island__text {
  padding: 1.2rem 1.4rem;
  font-size: 18px; }
  .island__text p:last-child {
    margin-bottom: 0; }

.island__primary {
  margin-bottom: 1.4rem; }

@media (min-width: 45em) {
  .island-wrap {
    padding-left: 9.25rem;
    margin-left: -9.25rem;
    overflow: hidden; }
  .island {
    width: 32.5rem;
    margin: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative; }
  .island--single-img {
    padding-bottom: 6rem; }
    .island--single-img .island__text {
      top: 0; }
  .island__text {
    width: 16.25rem;
    padding-right: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    background-color: #fff;
    font-size: 16px; }
  .island__primary {
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    position: relative;
    right: 15.75rem;
    overflow: hidden;
    text-align: right; }
    .island__primary img {
      max-width: none;
      max-height: 18.5rem; }
  .island__secondary {
    margin-top: -4rem;
    position: relative;
    left: 18.5rem; }
    .island__secondary img {
      max-width: none;
      max-height: 16rem; } }

@media (min-width: 57.5em) {
  .island-wrap {
    padding-left: 14rem;
    margin-left: -14rem; }
  .island {
    width: 34.5rem; }
  .island__text {
    width: 18.5rem;
    padding-right: 1.4rem; }
  .island__secondary {
    left: 20.75rem; } }

@media (min-width: 75em) {
  .island-wrap {
    overflow: hidden; }
  .island {
    width: auto;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .island__text {
    top: auto;
    right: auto;
    bottom: 0;
    left: 30.25rem; }
  .island__primary {
    max-width: 50%;
    margin-right: 1.4rem;
    overflow: hidden;
    right: auto;
    text-align: left; }
    .island__primary img {
      max-height: 28rem; }
  .island__secondary {
    max-width: calc(50% - 1.4rem);
    margin-top: 0;
    left: auto; }
    .island__secondary img {
      max-height: 28rem; } }

.sketches {
  padding: 1rem 1.125rem;
  margin-left: -1.4rem;
  text-align: center; }

@media (min-width: 45em) {
  .sketches-wrap {
    margin-left: -9.25rem; }
  .sketches {
    *zoom: 1;
    padding: 0;
    margin: 0; }
    .sketches:before, .sketches:after {
      content: " ";
      display: table; }
    .sketches:after {
      clear: both; }
  .sketch__primary {
    width: 50%;
    max-width: 25.5rem;
    padding: 0 0 0 3rem;
    margin-top: -14rem;
    float: left; }
  .sketch__secondary {
    width: 50%;
    padding: 0 3rem 0 1rem;
    margin-top: 0.75rem;
    float: left; } }

@media (min-width: 57.5em) {
  .sketches-wrap {
    margin-left: -14rem; }
  .sketch__primary {
    max-width: 30rem;
    margin-top: -11rem;
    padding-right: 0;
    float: left; }
  .sketch__secondary {
    max-width: 31rem;
    padding-right: 1.5rem;
    padding-left: 3rem; } }

@media (min-width: 75em) {
  .sketches-wrap {
    width: 100%;
    margin-left: 0; }
  .sketches {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .sketch__primary,
  .sketch__secondary {
    max-width: 37rem;
    padding: 0.75rem 0 0 0; }
  .sketch__primary {
    width: 50%;
    padding-right: 1rem;
    margin: 0; }
  .sketch__secondary {
    width: 50%;
    padding-right: 1rem;
    padding-left: 1rem;
    margin: 0; } }

.article {
  height: 100vh;
  padding: 60px 2rem 2rem 2rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
  background-color: #fff;
  z-index: 1001; }

@media (max-width: 44.999em) {
  .about-us {
    display: none; }
  body.about--open .about-us {
    display: block; } }

.article__title {
  margin: 0.5em 0 1.5em 0; }
  .article__title span {
    position: relative; }
    .article__title span:after {
      content: "";
      width: 40px;
      height: 3px;
      position: absolute;
      top: 50%;
      right: -60px;
      display: block;
      background: transparent url(img/square-bullet.gif) 0 0 repeat-x; }

.article__header {
  background-color: #fff;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  border-bottom: 1px solid #ccc; }

@-webkit-keyframes grow {
  0% {
    visibility: hidden;
    opacity: 0; }
  1% {
    visibility: visible;
    opacity: 0;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0); }
  100% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes grow {
  0% {
    visibility: hidden;
    opacity: 0; }
  1% {
    visibility: visible;
    opacity: 0;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0); }
  100% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes shrink {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  99% {
    visibility: visible;
    opacity: 0;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0); }
  100% {
    visibility: hidden;
    opacity: 0; } }

@keyframes shrink {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  99% {
    visibility: visible;
    opacity: 0;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0); }
  100% {
    visibility: hidden;
    opacity: 0; } }

@media (min-width: 45em) {
  .article {
    width: auto;
    height: auto;
    padding: 5rem;
    position: absolute;
    top: 9rem;
    right: 1.5rem;
    bottom: auto;
    left: 18rem;
    overflow: initial;
    background-color: #fff;
    font-size: 18px;
    line-height: 1.6666666667; }
  .article__header {
    display: none; }
  .article__title {
    display: none; }
  .about-us {
    visibility: hidden;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top; }
  body.about--init .about-us {
    visibility: visible;
    -webkit-animation: shrink 0.3s forwards;
    animation: shrink 0.3s forwards; }
  body.about--open .about-us {
    -webkit-animation: grow 0.3s forwards;
    animation: grow 0.3s forwards; } }

@media (min-width: 57.5em) {
  .article {
    max-width: 700px;
    padding: 7.5rem 7rem 6rem 7rem;
    left: 23rem;
    top: 8rem; } }

@media (min-width: 75em) {
  .article {
    max-width: 775px;
    padding-right: 9rem;
    padding-left: 9rem;
    left: 21rem; } }

.bullet {
  width: 3px;
  height: 1em;
  margin: 0 0.2em;
  display: inline-block;
  background: transparent url(img/square-bullet-vert.gif) 0 0.5em no-repeat; }

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screenreaders, but maintain layout
 */
.hidden {
  display: none; }

.invisible {
  visibility: hidden; }

.fll {
  float: left !important; }

.flr {
  float: right !important; }

.fln {
  float: none !important; }

.cb {
  clear: both !important; }

.cl {
  clear: left !important; }

.cr {
  clear: right !important; }

.no-transition {
  transition: none !important; }

.cf {
  *zoom: 1; }
  .cf:before, .cf:after {
    content: " ";
    display: table; }
  .cf:after {
    clear: both; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after,
  *:first-letter,
  *:first-line {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .calendar {
    display: none; }
  .dropcaps:before {
    content: ""; }
  .dropcaps:first-letter {
    margin-left: 0;
    float: none;
    color: inherit;
    visibility: visible; }
  ul:not([class]) {
    margin-left: 2em;
    list-style: disc; }
    ul:not([class]) li {
      padding-left: 0; } }
