/* normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  -moz-box-sizing: border-box;
       box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
* {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}
img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
  height: auto;
}
a {
  text-decoration: none;
}
nav > ul {
  margin: 0;
  padding: 0;
}
ul {
  list-style: none;
}
html {
  font-size: 62.5%;
}
body {
  font-family: 'Titillium Web', sans-serif;
  font-size: 100%;
  font-size: 25px;
  font-size: 1.6rem;
}
.site-header {
  display: block;
  *zoom: 1;
}
.site-header:before,
.site-header:after {
  content: '';
  display: table;
}
.site-header:after {
  clear: both;
}
.site-width {
  max-width: 1280px;
  max-width: 100vw;
}
.site-logo {
  display: inline-block;
  vertical-align: bottom;
  width: 20%;
  margin-right: -4px;
}
.site-nav {
  display: inline-block;
  vertical-align: bottom;
  width: 80%;
}
@media only screen and (max-width: 700px) {
  .site-nav {
    width: 100%;
  }
}
.menu-main {
  margin-bottom: 0;
  text-align: right;
}
@media only screen and (max-width: 700px) {
  .menu-main {
    padding: 0 0.5em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
  }
}
.menu-main li {
  display: inline-block;
  margin-right: 0.5em;
}
@media only screen and (max-width: 700px) {
  .menu-main li {
    margin: 0 !important;
  }
}
.menu-main li a {
  display: block;
  color: #000;
}
@media only screen and (min-width: 700px) {
  .menu-main li a {
    font-size: 21px;
    margin-right: 0.3em;
  }
}
@media only screen and (max-width: 700px) {
  .menu-main li a {
    font-size: 21px;
    margin-right: 0;
  }
}
@media only screen and (max-width: 500px) {
  .menu-main li a {
    font-size: 21px;
  }
}
@media only screen and (max-width: 500px) {
  .menu-main li a {
    font-size: 17px;
  }
}
.menu-main li a:hover {
  color: #b3b3b3;
}
.main-content {
  *zoom: 1;
  padding: 0.5%;
}
.main-content:before,
.main-content:after {
  content: '';
  display: table;
}
.main-content:after {
  clear: both;
}
@media only screen and (max-width: 750px) {
  .main-content {
    padding: 0;
  }
}
.grid {
  *zoom: 1;
  max-width: 100%;
}
.grid:before,
.grid:after {
  content: '';
  display: table;
}
.grid:after {
  clear: both;
}
.grid .col {
  width: 32%;
  float: left;
  padding: 32px;
  padding: 2rem;
}
@media only screen and (max-width: 1200px) {
  .grid .col {
    width: 33.3333%;
  }
}
@media only screen and (max-width: 900px) {
  .grid .col {
    width: 50%;
  }
}
@media only screen and (max-width: 500px) {
  .grid .col {
    width: 100%;
  }
}
.grid .col-2-3 {
  float: left;
  width: 66.6666%;
  max-width: 1200px;
  padding: 32px;
  padding: 2rem;
}

.grid .left-half {
  float: left;
  width: 45%;
  margin-left:2%;
}
.grid .right-half {
  float: left;
  width: 45%;
  margin-left:4%;
}
@media only screen and (max-width: 600px) {
  .grid .col-2-3 {
    width: 100%;
  }
}
.grid .col-1-3 {
  float: left;
  width: 33.3333%;
  padding: 32px;
  padding: 2rem;
}
@media only screen and (max-width: 600px) {
  .grid .col-1-3 {
    width: 100%;
  }
  .grid .left-half {
  float: left;
  width: 98%;
}
.grid .right-half {
  float: left;
  width: 98%;
  margin-left:0;
}
}
.site-logo {
  background: #fff;
}
@media only screen and (max-width: 700px) {
  .site-logo {
    display: block;
    width: 100%;
    text-align: center;
  }
}
.site-logo img {
  width: 100%;
}
@media only screen and (max-width: 700px) {
  .site-logo img {
    width: 50%;
  }
}
.preview {
  padding: 0;
  display: inline-block;
  margin-right: -4px;
  vertical-align: top;
  position: relative;
  overflow: hidden;
  background-size: cover !important;
  border: solid 8px #fff;
  border: solid 0.5rem #fff;
}
.preview img {
  -webkit-transition: 2s all;
          transition: 2s all;
}
.preview span {
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(255,255,255,0.7);
  color: #000;
  text-align: center;
  padding: 2.8em 3em;
  -webkit-transition: 0.4s all;
          transition: 0.4s all;
}
.preview:hover span {
  top: 0;
}
.preview:hover span a {
  display: block;
  color: #000;
}
.preview:hover span a:hover  {
  color: #000;
  font-weight: bold; 
}
.preview h3 {
  font-weight: normal;
  padding: 0% 2%;
  margin: 0;
  font-size: 2.0em;
}
.preview h3:after {
  content: " ";
  border-bottom: 1px solid #000;
  display: block;
  width: 90%;
  margin: 0 auto;
}
.preview p {
  font-size: 1.3em;
  margin: 0;
}
.main-content {
  padding: 8px;
  padding: 0.5rem;
}
.preview {
  -webkit-transition: 0.3s width;
          transition: 0.3s width;
}
@media only screen and (max-width: 400px) {
  .preview {
    display: block;
    width: 100% !important;
    font-size: 13px;
  }
}
@media only screen and (min-width: 400px) {
  .preview {
    width: 50%;
    font-size: 9px;
  }
}
@media only screen and (min-width: 750px) {
  .preview {
    width: 33.333%;
  }
}
@media only screen and (min-width: 900px) {
  .preview {
    width: 25%;
  }
}
@media only screen and (min-width: 1280px) {
  .preview {
    width: 20%;
    font-size: 11px;
  }
  .preview span {
    padding: 1.8em 3em;
  }
}
.preview img {
  width: 100%;
}
.backstretch {
  -webkit-transition: 0.3s all;
          transition: 0.3s all;
}
.logo-holding {
  display: block;
  width: 40% !important;
  margin: 0 auto;
}
.logo-holding img {
  -webkit-transition: 0.2s all;
          transition: 0.2s all;
}
.logo-holding img:hover + span {
  opacity: 1;
  box-shadow: 0 0 20px 7000px rgba(0,0,0,0.9);
  background: rgba(0,0,0,0.9);
}
.logo-holding span {
  -webkit-transition: 0.8s all;
          transition: 0.8s all;
  color: #fff;
  text-transform: lowercase;
  font-size: 32px;
  font-size: 2rem;
  text-shadow: 0 0 1px #000;
  letter-spacing: 1px;
  text-align: center;
  display: block;
  opacity: 0;
  padding: 12px 3px;
  padding: 0.8rem 0.2rem;
}
.grayscale {
  -webkit-filter: #808080;
          filter: #808080;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale");
}
.project-page {
  overflow: hidden;
}
@media only screen and (max-width: 700px) {
  .project-page {
    overflow: auto;
  }
}
.project-page .site-header {
  position: relative;
}
.project-page .site-logo {
  width: 25%;
}
@media only screen and (max-width: 700px) {
  .project-page .site-logo {
    width: 100%;
    padding: 2em 0 0.4em;
  }
}
.project-page .site-nav {
  width: 75%;
  position: absolute;
  bottom: 10px;
  right: 0;
}
@media only screen and (max-width: 700px) {
  .project-page .site-nav {
    width: 100%;
    position: fixed;
    top: 0;
    height: 80px;
    height: 5rem;
    z-index: 999;
    background: rgba(255,255,255,0.8);
    padding: 0.2em 0 0.4em;
  }
}
@media only screen and (max-width: 500px) {
  .project-page .site-nav {
    height: 56px;
    height: 3.5rem;
  }
}
.project-page .main-content {
  padding: 0;
  position: relative;
}
@media only screen and (max-width: 700px) {
  .project-page .main-content {
    padding: 0.5em;
  }
}
.project-info {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1em;
  z-index: 2;
  background: rgba(255,255,255,0.8);
  overflow: auto;
  max-width: 30%;
  height: 100%;
}
@media only screen and (max-width: 900px) {
  .project-info {
    max-width: 45%;
  }
}
@media only screen and (max-width: 700px) {
  .project-info {
    position: relative;
    padding: 0;
    display: block;
    max-width: 100%;
  }
}
.project-info img {
  display: none;
}
@media only screen and (max-width: 700px) {
  .project-info img {
    display: block;
  }
}
.project-title {
  margin: -0.4em 0 0;
}
.project-gallery--desktop {
  position: relative;
  overflow-scrolling: touch;
  width: 100%;
  max-height: 650px;
  overflow-x: scroll;
  overflow-y: hidden;
  padding-left: 400px;
  z-index: 1;
}
@media only screen and (max-width: 700px) {
  .project-gallery--desktop {
    display: none;
  }
}
.project-gallery--desktop .project-gallery__scroll {
  height: 100%;
  white-space: nowrap;
}
.project-gallery--desktop .project-gallery__image {
  margin: 0 1px 0 0;
  height: 100%;
  width: auto;
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
}
.project-gallery--desktop .project-gallery__image img {
  height: 550px;
  width: auto !important;
  max-width: inherit;
}

.project-gallery--mobile {
  display: none;
  width: 100%;
}
@media only screen and (max-width: 700px) {
  .project-gallery--mobile {
    display: block;
  }
}
.project-gallery--mobile .project-gallery__image {
  width: 100%;
  margin: 0 0 0.8em;
}
@media only screen and (max-width: 700px) {
  .project-gallery--mobile .project-gallery__image:first-child {
    display: none;
  }
}
.grid {
  padding-top: 16px;
  padding-top: 1rem;
}
.article-header__image,
.article-header__title,
.article-header__strapline {
  margin: 0;
}
@media only screen and (max-width: 500px) {
  .article-header__image,
  .article-header__title,
  .article-header__strapline {
    text-align: center;
  }
}
.article-header__title {
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #000;
}
.article-header__strapline {
  font-size: 1em;
  font-style: italic;
  font-weight: normal;
}
.publication__header {
  overflow: hidden;
}
.article__content,
.publication__content {
  padding-top: 0.4em;
  height:320px;
}

.article__content p,
.publication__content p {
  margin: 0;
}
.publication {
  padding-top: 1.2em;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}
.publication__image {
  float: left;
  margin: 0.4em 0 0.3em 0;
  border-right: 0.8em solid #fff;
}


